/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:00:42,745 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:00:42,746 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:00:42,809 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:00:42,809 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:00:42,810 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:00:42,810 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:00:42,819 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:00:42,821 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:00:42,824 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:00:42,825 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:00:42,826 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:00:42,826 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:00:42,828 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:00:42,828 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:00:42,830 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:00:42,830 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:00:42,831 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:00:42,833 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:00:42,837 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:00:42,838 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:00:42,839 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:00:42,840 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:00:42,840 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:00:42,841 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:00:42,846 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:00:42,846 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:00:42,847 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:00:42,847 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:00:42,847 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:00:42,848 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:00:42,848 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:00:42,848 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:00:42,849 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:00:42,849 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:00:42,850 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:00:42,850 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:00:42,850 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:00:42,850 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:00:42,851 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:00:42,851 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:00:42,853 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:00:42,854 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 11:00:42,862 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:00:42,863 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:00:42,864 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:00:42,864 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:00:42,865 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:00:42,865 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:00:42,866 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:00:42,866 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:00:42,866 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:00:42,866 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:00:42,866 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:00:42,866 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:00:42,866 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 11:00:43,070 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:00:43,085 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:00:43,086 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:00:43,087 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:00:43,088 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:00:43,089 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-28 11:00:43,139 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a258fdb5a/92ca8efc94bd4976a6f8485a36426b61/FLAGd1ed74dd4 [2022-04-28 11:00:43,533 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:00:43,534 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-28 11:00:43,538 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a258fdb5a/92ca8efc94bd4976a6f8485a36426b61/FLAGd1ed74dd4 [2022-04-28 11:00:43,553 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a258fdb5a/92ca8efc94bd4976a6f8485a36426b61 [2022-04-28 11:00:43,555 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:00:43,556 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:00:43,561 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:00:43,561 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:00:43,563 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:00:43,567 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,568 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@619cbcc0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43, skipping insertion in model container [2022-04-28 11:00:43,568 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,572 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:00:43,581 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:00:43,727 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_unwindbound20.c[597,610] [2022-04-28 11:00:43,741 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:00:43,749 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:00:43,756 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_unwindbound20.c[597,610] [2022-04-28 11:00:43,767 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:00:43,775 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:00:43,775 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43 WrapperNode [2022-04-28 11:00:43,775 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:00:43,776 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:00:43,776 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:00:43,776 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:00:43,800 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,800 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,806 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,806 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,815 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,817 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,818 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,819 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:00:43,820 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:00:43,820 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:00:43,820 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:00:43,822 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (1/1) ... [2022-04-28 11:00:43,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:00:43,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:43,884 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 11:00:43,905 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 11:00:43,909 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:00:43,909 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:00:43,910 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:00:43,910 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:00:43,910 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:00:43,910 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:00:43,910 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:00:43,911 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:00:43,911 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:00:43,911 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:00:43,911 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:00:43,911 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:00:43,949 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:00:43,950 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:00:44,080 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:00:44,084 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:00:44,084 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 11:00:44,085 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:00:44 BoogieIcfgContainer [2022-04-28 11:00:44,085 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:00:44,086 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:00:44,086 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:00:44,088 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:00:44,089 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:00:43" (1/3) ... [2022-04-28 11:00:44,089 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75a17ce9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:00:44, skipping insertion in model container [2022-04-28 11:00:44,089 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:00:43" (2/3) ... [2022-04-28 11:00:44,089 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75a17ce9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:00:44, skipping insertion in model container [2022-04-28 11:00:44,089 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:00:44" (3/3) ... [2022-04-28 11:00:44,090 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound20.c [2022-04-28 11:00:44,098 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:00:44,098 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:00:44,124 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:00:44,127 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@6e3995a7, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5cdf959e [2022-04-28 11:00:44,128 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:00:44,134 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:44,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 11:00:44,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:44,139 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:44,139 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:44,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:44,142 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-28 11:00:44,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:44,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1314756693] [2022-04-28 11:00:44,153 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:00:44,153 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-28 11:00:44,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:44,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195186560] [2022-04-28 11:00:44,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:44,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:44,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:44,257 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:00:44,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:44,271 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-28 11:00:44,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-28 11:00:44,271 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-28 11:00:44,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 11:00:44,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-28 11:00:44,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-28 11:00:44,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-28 11:00:44,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-28 11:00:44,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-28 11:00:44,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-28 11:00:44,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-28 11:00:44,275 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#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)); {29#false} is VALID [2022-04-28 11:00:44,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-28 11:00:44,275 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-28 11:00:44,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-28 11:00:44,275 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:44,276 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:44,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1195186560] [2022-04-28 11:00:44,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1195186560] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:44,276 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:44,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:00:44,278 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:44,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1314756693] [2022-04-28 11:00:44,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1314756693] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:44,279 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:44,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:00:44,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [524238321] [2022-04-28 11:00:44,279 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:44,282 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 11:00:44,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:44,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:44,300 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:00:44,300 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:44,312 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:00:44,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:00:44,314 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:44,398 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 11:00:44,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:00:44,398 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 11:00:44,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:44,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-28 11:00:44,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-28 11:00:44,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-28 11:00:44,503 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 11:00:44,510 INFO L225 Difference]: With dead ends: 45 [2022-04-28 11:00:44,510 INFO L226 Difference]: Without dead ends: 21 [2022-04-28 11:00:44,512 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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 11:00:44,514 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:44,515 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:00:44,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-28 11:00:44,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-28 11:00:44,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:44,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:44,549 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:44,549 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:44,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:44,558 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-28 11:00:44,558 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-28 11:00:44,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:44,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:44,559 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-28 11:00:44,561 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-28 11:00:44,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:44,565 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-28 11:00:44,565 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-28 11:00:44,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:44,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:44,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:44,566 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:44,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:44,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-28 11:00:44,569 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-28 11:00:44,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:44,569 INFO L495 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-28 11:00:44,570 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-28 11:00:44,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:44,609 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-28 11:00:44,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 11:00:44,612 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:44,612 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:44,613 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:00:44,613 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:44,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:44,614 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-28 11:00:44,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:44,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [753415782] [2022-04-28 11:00:44,615 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:00:44,615 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-28 11:00:44,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:44,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318886966] [2022-04-28 11:00:44,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:44,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:44,628 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:44,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2062539190] [2022-04-28 11:00:44,629 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:44,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:44,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:44,654 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 11:00:44,657 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 11:00:44,707 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:00:44,707 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:44,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 11:00:44,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:44,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:44,897 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-28 11:00:44,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {208#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);~counter~0 := 0; {208#true} is VALID [2022-04-28 11:00:44,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-28 11:00:44,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-28 11:00:44,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-28 11:00:44,900 INFO L290 TraceCheckUtils]: 5: Hoare triple {208#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {228#(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 11:00:44,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {228#(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 11:00:44,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {235#(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 11:00:44,902 INFO L272 TraceCheckUtils]: 8: Hoare triple {235#(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)); {239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:44,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:44,903 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-28 11:00:44,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-28 11:00:44,904 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:44,904 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:00:44,904 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:44,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318886966] [2022-04-28 11:00:44,904 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:44,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2062539190] [2022-04-28 11:00:44,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2062539190] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:44,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:44,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:00:44,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:44,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [753415782] [2022-04-28 11:00:44,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [753415782] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:44,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:44,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:00:44,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1038938899] [2022-04-28 11:00:44,908 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:44,908 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 11:00:44,909 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:44,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:44,918 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:44,919 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:00:44,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:44,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:00:44,921 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:00:44,921 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:45,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:45,104 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-28 11:00:45,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:00:45,104 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 11:00:45,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:45,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:45,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 11:00:45,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:45,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 11:00:45,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-28 11:00:45,142 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 11:00:45,144 INFO L225 Difference]: With dead ends: 34 [2022-04-28 11:00:45,144 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 11:00:45,145 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 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 11:00:45,147 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:45,150 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:00:45,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 11:00:45,163 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-28 11:00:45,163 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:45,165 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:45,165 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:45,165 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:45,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:45,167 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-28 11:00:45,167 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-28 11:00:45,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:45,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:45,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-28 11:00:45,169 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-28 11:00:45,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:45,173 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-28 11:00:45,173 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-28 11:00:45,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:45,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:45,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:45,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:45,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:45,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-28 11:00:45,177 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-28 11:00:45,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:45,177 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-28 11:00:45,177 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 11:00:45,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-28 11:00:45,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:45,201 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-28 11:00:45,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 11:00:45,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:45,203 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:45,219 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 11:00:45,416 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 11:00:45,417 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:45,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:45,417 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-28 11:00:45,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:45,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1285042128] [2022-04-28 11:00:45,540 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:45,540 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:45,540 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-28 11:00:45,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:45,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487612871] [2022-04-28 11:00:45,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:45,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:45,568 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:45,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1481479097] [2022-04-28 11:00:45,569 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:45,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:45,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:45,583 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 11:00:45,586 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 11:00:45,640 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:00:45,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:45,641 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 11:00:45,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:45,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:45,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-28 11:00:45,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#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);~counter~0 := 0; {435#true} is VALID [2022-04-28 11:00:45,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 11:00:45,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-28 11:00:45,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-28 11:00:45,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:45,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:45,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:45,826 INFO L272 TraceCheckUtils]: 8: Hoare triple {455#(and (= main_~x~0 0) (= (+ 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)); {435#true} is VALID [2022-04-28 11:00:45,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-28 11:00:45,826 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-28 11:00:45,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 11:00:45,827 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:45,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:45,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {455#(and (= main_~x~0 0) (= (+ 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; {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:45,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:45,829 INFO L290 TraceCheckUtils]: 16: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:45,830 INFO L290 TraceCheckUtils]: 17: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:45,831 INFO L272 TraceCheckUtils]: 18: Hoare triple {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~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)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:45,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:45,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-28 11:00:45,832 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-28 11:00:45,832 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:45,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:00:45,974 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-28 11:00:45,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-28 11:00:45,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:45,976 INFO L272 TraceCheckUtils]: 18: Hoare triple {518#(= (+ (* 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)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:45,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {522#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {518#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:00:45,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* 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 11:00:45,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {529#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {522#(= (+ (* 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 11:00:45,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {522#(= (+ (* 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; {529#(= (+ (* (* 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 11:00:45,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {522#(= (+ (* 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); {522#(= (+ (* 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 11:00:45,980 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {522#(= (+ (* 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 11:00:45,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 11:00:45,980 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-28 11:00:45,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-28 11:00:45,980 INFO L272 TraceCheckUtils]: 8: Hoare triple {522#(= (+ (* 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)); {435#true} is VALID [2022-04-28 11:00:45,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {522#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {522#(= (+ (* 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 11:00:45,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* 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 11:00:45,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {522#(= (+ (* 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 11:00:45,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-28 11:00:45,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-28 11:00:45,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 11:00:45,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#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);~counter~0 := 0; {435#true} is VALID [2022-04-28 11:00:45,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-28 11:00:45,983 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 11:00:45,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:45,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487612871] [2022-04-28 11:00:45,983 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:45,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1481479097] [2022-04-28 11:00:45,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1481479097] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:45,984 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:45,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 11:00:45,984 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:45,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1285042128] [2022-04-28 11:00:45,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1285042128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:45,984 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:45,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:00:45,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569820222] [2022-04-28 11:00:45,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:45,985 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 11:00:45,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:45,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:46,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:46,002 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:00:46,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:46,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:00:46,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 11:00:46,003 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:46,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:46,260 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-28 11:00:46,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:00:46,260 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 11:00:46,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:46,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:46,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:00:46,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:46,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:00:46,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 11:00:46,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:46,299 INFO L225 Difference]: With dead ends: 44 [2022-04-28 11:00:46,299 INFO L226 Difference]: Without dead ends: 39 [2022-04-28 11:00:46,299 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:00:46,300 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 12 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:46,300 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 106 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:00:46,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-28 11:00:46,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-28 11:00:46,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:46,311 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:46,311 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:46,311 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:46,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:46,313 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:00:46,313 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-28 11:00:46,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:46,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:46,314 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-28 11:00:46,314 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-28 11:00:46,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:46,315 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:00:46,315 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-28 11:00:46,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:46,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:46,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:46,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:46,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:46,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-28 11:00:46,317 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-28 11:00:46,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:46,317 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-28 11:00:46,317 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:46,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-28 11:00:46,352 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 11:00:46,352 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 11:00:46,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 11:00:46,353 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:46,353 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:46,369 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 11:00:46,565 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 11:00:46,567 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:46,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:46,568 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-28 11:00:46,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:46,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116496155] [2022-04-28 11:00:46,637 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:46,638 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:46,638 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-28 11:00:46,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:46,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [666127953] [2022-04-28 11:00:46,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:46,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:46,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:46,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1629844374] [2022-04-28 11:00:46,649 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:46,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:46,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:46,650 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 11:00:46,671 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 11:00:46,690 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:00:46,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:46,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 11:00:46,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:46,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:46,860 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-28 11:00:46,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#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);~counter~0 := 0; {823#true} is VALID [2022-04-28 11:00:46,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 11:00:46,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-28 11:00:46,861 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-28 11:00:46,862 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:46,862 INFO L290 TraceCheckUtils]: 6: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:46,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:46,863 INFO L272 TraceCheckUtils]: 8: Hoare triple {843#(and (= main_~x~0 0) (= (+ 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)); {823#true} is VALID [2022-04-28 11:00:46,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-28 11:00:46,863 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-28 11:00:46,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 11:00:46,864 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:46,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:46,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {843#(and (= main_~x~0 0) (= (+ 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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {871#(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 11:00:46,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {871#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:00:46,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:00:46,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 11:00:46,867 INFO L272 TraceCheckUtils]: 18: Hoare triple {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~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)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:46,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:46,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-28 11:00:46,868 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-28 11:00:46,868 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:46,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:00:47,024 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-28 11:00:47,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-28 11:00:47,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:47,027 INFO L272 TraceCheckUtils]: 18: Hoare triple {906#(= (+ (* 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)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:47,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {910#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {906#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:00:47,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* 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 11:00:47,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {917#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {910#(= (+ (* 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 11:00:47,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {910#(= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {917#(= (+ (* (* 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 11:00:47,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {910#(= (+ (* 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); {910#(= (+ (* 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 11:00:47,045 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {910#(= (+ (* 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 11:00:47,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 11:00:47,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-28 11:00:47,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-28 11:00:47,045 INFO L272 TraceCheckUtils]: 8: Hoare triple {910#(= (+ (* 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)); {823#true} is VALID [2022-04-28 11:00:47,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {910#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {910#(= (+ (* 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 11:00:47,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* 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 11:00:47,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {910#(= (+ (* 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 11:00:47,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-28 11:00:47,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-28 11:00:47,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 11:00:47,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#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);~counter~0 := 0; {823#true} is VALID [2022-04-28 11:00:47,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-28 11:00:47,049 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 11:00:47,050 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:47,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [666127953] [2022-04-28 11:00:47,050 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:47,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629844374] [2022-04-28 11:00:47,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629844374] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:47,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:47,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 11:00:47,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:47,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116496155] [2022-04-28 11:00:47,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116496155] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:47,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:47,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:00:47,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [641835611] [2022-04-28 11:00:47,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:47,051 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 11:00:47,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:47,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:47,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:47,071 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:00:47,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:47,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:00:47,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 11:00:47,073 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:47,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:47,353 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-28 11:00:47,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:00:47,354 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 11:00:47,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:47,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:47,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:00:47,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:47,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:00:47,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 11:00:47,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:47,395 INFO L225 Difference]: With dead ends: 53 [2022-04-28 11:00:47,395 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 11:00:47,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:00:47,396 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 123 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 123 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:47,396 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 111 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 123 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:00:47,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 11:00:47,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-28 11:00:47,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:47,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:47,413 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:47,413 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:47,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:47,417 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-28 11:00:47,417 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-28 11:00:47,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:47,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:47,419 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-28 11:00:47,419 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-28 11:00:47,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:47,423 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-28 11:00:47,423 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-28 11:00:47,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:47,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:47,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:47,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:47,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:47,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-28 11:00:47,429 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-28 11:00:47,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:47,429 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-28 11:00:47,429 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:47,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-28 11:00:47,470 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 11:00:47,470 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 11:00:47,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:00:47,471 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:47,471 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:47,493 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 11:00:47,688 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 11:00:47,688 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:47,689 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:47,689 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-28 11:00:47,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:47,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2029530485] [2022-04-28 11:00:47,733 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:47,733 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:47,733 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-28 11:00:47,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:47,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1100059140] [2022-04-28 11:00:47,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:47,733 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:47,744 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:47,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1817634914] [2022-04-28 11:00:47,745 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:47,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:47,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:47,760 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 11:00:47,761 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 11:00:47,791 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:00:47,792 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:47,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 11:00:47,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:47,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:47,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-28 11:00:47,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#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);~counter~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 11:00:47,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 11:00:47,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 11:00:47,897 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-28 11:00:47,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {1277#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 11:00:47,907 INFO L290 TraceCheckUtils]: 6: Hoare triple {1277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,908 INFO L272 TraceCheckUtils]: 8: Hoare triple {1293#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,908 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,909 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,909 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {1293#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,910 INFO L290 TraceCheckUtils]: 15: Hoare triple {1293#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 11:00:47,911 INFO L290 TraceCheckUtils]: 16: Hoare triple {1293#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1324#(<= |main_#t~post6| 1)} is VALID [2022-04-28 11:00:47,911 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1270#false} is VALID [2022-04-28 11:00:47,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-28 11:00:47,911 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#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)); {1270#false} is VALID [2022-04-28 11:00:47,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-28 11:00:47,912 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-28 11:00:47,912 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-28 11:00:47,912 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:47,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:00:48,021 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-28 11:00:48,021 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-28 11:00:48,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-28 11:00:48,021 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#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)); {1270#false} is VALID [2022-04-28 11:00:48,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-28 11:00:48,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1270#false} is VALID [2022-04-28 11:00:48,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 20)} is VALID [2022-04-28 11:00:48,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 20)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,024 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 20)} #58#return; {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-28 11:00:48,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-28 11:00:48,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-28 11:00:48,024 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1269#true} is VALID [2022-04-28 11:00:48,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 20)} is VALID [2022-04-28 11:00:48,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 19)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1393#(< ~counter~0 19)} is VALID [2022-04-28 11:00:48,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 19)} call #t~ret9 := main(); {1393#(< ~counter~0 19)} is VALID [2022-04-28 11:00:48,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 19)} {1269#true} #62#return; {1393#(< ~counter~0 19)} is VALID [2022-04-28 11:00:48,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 19)} assume true; {1393#(< ~counter~0 19)} is VALID [2022-04-28 11:00:48,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#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);~counter~0 := 0; {1393#(< ~counter~0 19)} is VALID [2022-04-28 11:00:48,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-28 11:00:48,026 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:00:48,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:48,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1100059140] [2022-04-28 11:00:48,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:48,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817634914] [2022-04-28 11:00:48,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817634914] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:48,027 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:48,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 11:00:48,027 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:48,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2029530485] [2022-04-28 11:00:48,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2029530485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:48,027 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:48,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:00:48,027 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506242014] [2022-04-28 11:00:48,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:48,028 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-28 11:00:48,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:48,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:48,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:48,042 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:00:48,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:48,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:00:48,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:00:48,043 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:48,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:48,107 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-28 11:00:48,107 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:00:48,107 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-28 11:00:48,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:48,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:48,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:00:48,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:48,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:00:48,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 11:00:48,133 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 11:00:48,134 INFO L225 Difference]: With dead ends: 54 [2022-04-28 11:00:48,134 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 11:00:48,135 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 11:00:48,135 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 3 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 14 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:48,135 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 66 Invalid, 14 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:00:48,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 11:00:48,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 11:00:48,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:48,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:48,160 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:48,160 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:48,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:48,161 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 11:00:48,161 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 11:00:48,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:48,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:48,162 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-28 11:00:48,162 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-28 11:00:48,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:48,163 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 11:00:48,163 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 11:00:48,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:48,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:48,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:48,163 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:48,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:48,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 11:00:48,164 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-28 11:00:48,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:48,165 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 11:00:48,165 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 11:00:48,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-28 11:00:48,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:48,204 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 11:00:48,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 11:00:48,205 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:48,205 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:48,223 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 11:00:48,425 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 11:00:48,425 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:48,426 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:48,426 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-28 11:00:48,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:48,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2122258435] [2022-04-28 11:00:48,507 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:48,507 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:48,507 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-28 11:00:48,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:48,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1336897074] [2022-04-28 11:00:48,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:48,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:48,521 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:48,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804824649] [2022-04-28 11:00:48,521 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:48,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:48,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:48,522 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 11:00:48,523 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 11:00:48,557 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:00:48,557 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:48,558 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 11:00:48,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:48,568 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:48,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-28 11:00:48,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#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);~counter~0 := 0; {1708#true} is VALID [2022-04-28 11:00:48,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:00:48,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-28 11:00:48,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-28 11:00:48,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:48,906 INFO L290 TraceCheckUtils]: 6: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:48,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:48,906 INFO L272 TraceCheckUtils]: 8: Hoare triple {1728#(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)); {1708#true} is VALID [2022-04-28 11:00:48,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:00:48,906 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:00:48,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:00:48,908 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:48,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1753#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:48,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {1753#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-28 11:00:48,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:00:48,909 INFO L290 TraceCheckUtils]: 16: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:00:48,910 INFO L290 TraceCheckUtils]: 17: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* 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 11:00:48,910 INFO L272 TraceCheckUtils]: 18: Hoare triple {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* 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)); {1708#true} is VALID [2022-04-28 11:00:48,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:48,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:48,911 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:48,912 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* 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)))} #58#return; {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~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)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:00:48,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~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)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:00:48,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~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)) (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; {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 11:00:48,915 INFO L272 TraceCheckUtils]: 25: Hoare triple {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~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)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:48,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:48,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-28 11:00:48,916 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-28 11:00:48,916 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:00:48,916 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:00:49,579 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-28 11:00:49,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-28 11:00:49,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:49,580 INFO L272 TraceCheckUtils]: 25: Hoare triple {1818#(= (+ (* 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)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:49,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {1822#(= (+ (* 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; {1818#(= (+ (* 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 11:00:49,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {1826#(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); {1822#(= (+ (* 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 11:00:49,583 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1830#(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)))))} #58#return; {1826#(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 11:00:49,583 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:49,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:49,583 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:00:49,584 INFO L272 TraceCheckUtils]: 18: Hoare triple {1830#(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)); {1708#true} is VALID [2022-04-28 11:00:49,587 INFO L290 TraceCheckUtils]: 17: Hoare triple {1847#(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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1830#(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 11:00:49,588 INFO L290 TraceCheckUtils]: 16: Hoare triple {1847#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1847#(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 11:00:49,589 INFO L290 TraceCheckUtils]: 15: Hoare triple {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1847#(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 11:00:49,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {1708#true} assume !!(~x~0 <= ~X~0); {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* 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 11:00:49,592 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L272 TraceCheckUtils]: 8: Hoare triple {1708#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-28 11:00:49,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#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);~counter~0 := 0; {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-28 11:00:49,593 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:00:49,593 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:49,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1336897074] [2022-04-28 11:00:49,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:49,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804824649] [2022-04-28 11:00:49,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804824649] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:49,594 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:49,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 11:00:49,594 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:49,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2122258435] [2022-04-28 11:00:49,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2122258435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:49,594 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:49,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:00:49,594 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [597044589] [2022-04-28 11:00:49,594 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:49,594 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-28 11:00:49,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:49,595 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:49,616 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 11:00:49,617 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:00:49,617 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:49,617 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:00:49,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:00:49,617 INFO L87 Difference]: Start difference. First operand 46 states and 50 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:50,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:50,061 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 11:00:50,061 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:00:50,061 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-28 11:00:50,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:50,062 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:50,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-28 11:00:50,063 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:50,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-28 11:00:50,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-28 11:00:50,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:50,100 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:00:50,100 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 11:00:50,101 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=115, Invalid=587, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:00:50,101 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 20 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 176 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 176 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:50,101 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 107 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 176 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:00:50,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 11:00:50,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-28 11:00:50,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:50,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:50,122 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:50,122 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:50,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:50,123 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 11:00:50,123 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 11:00:50,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:50,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:50,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-28 11:00:50,124 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-28 11:00:50,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:50,125 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 11:00:50,125 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 11:00:50,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:50,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:50,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:50,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:50,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:00:50,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-28 11:00:50,126 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-28 11:00:50,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:50,126 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-28 11:00:50,126 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:50,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-28 11:00:50,163 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 11:00:50,163 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 11:00:50,163 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:00:50,163 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:50,164 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:50,197 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 11:00:50,364 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 11:00:50,364 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:50,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:50,365 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-28 11:00:50,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:50,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [990547720] [2022-04-28 11:00:50,411 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:50,411 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:50,411 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-28 11:00:50,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:50,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1710372932] [2022-04-28 11:00:50,411 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:50,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:50,429 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:50,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [772876956] [2022-04-28 11:00:50,429 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:00:50,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:50,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:50,430 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 11:00:50,431 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 11:00:50,466 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:00:50,467 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:50,467 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:00:50,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:50,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:00:50,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-28 11:00:50,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#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);~counter~0 := 0; {2201#true} is VALID [2022-04-28 11:00:50,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 11:00:50,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-28 11:00:50,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-28 11:00:50,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,689 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,689 INFO L272 TraceCheckUtils]: 8: Hoare triple {2221#(and (= main_~x~0 0) (= (+ 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)); {2201#true} is VALID [2022-04-28 11:00:50,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-28 11:00:50,690 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-28 11:00:50,690 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 11:00:50,690 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,691 INFO L290 TraceCheckUtils]: 14: Hoare triple {2221#(and (= main_~x~0 0) (= (+ 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; {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,692 INFO L290 TraceCheckUtils]: 16: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,692 INFO L290 TraceCheckUtils]: 17: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,693 INFO L272 TraceCheckUtils]: 18: Hoare triple {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~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)); {2201#true} is VALID [2022-04-28 11:00:50,693 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:50,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:50,693 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:50,694 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #58#return; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,694 INFO L290 TraceCheckUtils]: 23: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:00:50,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,700 INFO L290 TraceCheckUtils]: 26: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:00:50,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0))} is VALID [2022-04-28 11:00:50,702 INFO L272 TraceCheckUtils]: 28: Hoare triple {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 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)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:50,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:50,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-28 11:00:50,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-28 11:00:50,704 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:00:50,704 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:00:52,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-28 11:00:52,328 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-28 11:00:52,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:00:52,330 INFO L272 TraceCheckUtils]: 28: Hoare triple {2319#(= (+ (* 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)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:52,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {2323#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2319#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:00:52,333 INFO L290 TraceCheckUtils]: 26: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2323#(= (+ (* 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 11:00:52,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {2330#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2323#(= (+ (* 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 11:00:52,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {2323#(= (+ (* 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; {2330#(= (+ (* (* 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 11:00:52,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {2323#(= (+ (* 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); {2323#(= (+ (* 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 11:00:52,336 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2340#(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)))))} #58#return; {2323#(= (+ (* 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 11:00:52,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:52,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:52,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:00:52,337 INFO L272 TraceCheckUtils]: 18: Hoare triple {2340#(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)); {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2340#(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 11:00:52,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {2201#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {2201#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-28 11:00:52,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L272 TraceCheckUtils]: 8: Hoare triple {2201#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 11:00:52,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#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);~counter~0 := 0; {2201#true} is VALID [2022-04-28 11:00:52,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-28 11:00:52,342 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 11:00:52,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:52,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1710372932] [2022-04-28 11:00:52,342 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:52,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [772876956] [2022-04-28 11:00:52,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [772876956] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:52,342 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:52,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:00:52,342 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:52,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [990547720] [2022-04-28 11:00:52,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [990547720] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:52,342 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:52,343 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:00:52,343 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [999893439] [2022-04-28 11:00:52,343 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:52,343 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:00:52,343 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:52,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:52,368 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 11:00:52,368 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:00:52,368 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:52,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:00:52,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:00:52,369 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:52,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:52,982 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-28 11:00:52,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:00:52,982 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:00:52,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:00:52,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:52,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 11:00:52,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:52,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 11:00:52,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 11:00:53,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:53,029 INFO L225 Difference]: With dead ends: 63 [2022-04-28 11:00:53,029 INFO L226 Difference]: Without dead ends: 58 [2022-04-28 11:00:53,030 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 44 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 11:00:53,030 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 18 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 318 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 324 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 318 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:00:53,030 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 151 Invalid, 324 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 318 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:00:53,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-28 11:00:53,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-28 11:00:53,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:00:53,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:53,060 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:53,060 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:53,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:53,061 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-28 11:00:53,062 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 11:00:53,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:53,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:53,062 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-28 11:00:53,062 INFO L87 Difference]: Start difference. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-28 11:00:53,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:00:53,063 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-28 11:00:53,064 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 11:00:53,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:00:53,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:00:53,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:00:53,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:00:53,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:00:53,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-28 11:00:53,065 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-28 11:00:53,065 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:00:53,065 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-28 11:00:53,065 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:00:53,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-28 11:00:53,119 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 11:00:53,120 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 11:00:53,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:00:53,120 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:00:53,120 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:00:53,137 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 11:00:53,321 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 11:00:53,321 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:00:53,321 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:00:53,321 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-28 11:00:53,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:53,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [350775350] [2022-04-28 11:00:53,425 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:00:53,425 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:00:53,425 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-28 11:00:53,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:00:53,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1779183267] [2022-04-28 11:00:53,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:00:53,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:00:53,434 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:00:53,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1856487259] [2022-04-28 11:00:53,434 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:00:53,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:00:53,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:00:53,435 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 11:00:53,459 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 11:00:53,481 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:00:53,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:00:53,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 11:00:53,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:00:53,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:01:05,151 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:01:05,684 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:01:10,659 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:02:11,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-28 11:02:11,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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);~counter~0 := 0; {2754#true} is VALID [2022-04-28 11:02:11,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 11:02:11,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-28 11:02:11,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-28 11:02:11,020 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,021 INFO L272 TraceCheckUtils]: 8: Hoare triple {2774#(and (= main_~x~0 0) (= (+ 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)); {2754#true} is VALID [2022-04-28 11:02:11,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:11,022 INFO L290 TraceCheckUtils]: 10: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:11,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:11,023 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {2774#(and (= main_~x~0 0) (= (+ 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; {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* 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 11:02:11,026 INFO L272 TraceCheckUtils]: 18: Hoare triple {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* 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)); {2754#true} is VALID [2022-04-28 11:02:11,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:11,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:11,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:11,027 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:11,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~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 11:02:11,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:02:11,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:02:11,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-28 11:02:11,037 INFO L272 TraceCheckUtils]: 28: Hoare triple {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~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)); {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:11,037 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:11,037 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-28 11:02:11,037 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-28 11:02:11,038 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:02:11,038 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:02:17,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-28 11:02:17,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-28 11:02:17,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:17,661 INFO L272 TraceCheckUtils]: 28: Hoare triple {2873#(= (+ (* 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)); {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:17,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {2877#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2873#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:02:17,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {2877#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2877#(= (+ (* 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 11:02:17,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {2884#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2877#(= (+ (* 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 11:02:17,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {2888#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2884#(= (+ (* (* 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 11:02:17,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {2888#(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); {2888#(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 11:02:17,667 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2895#(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)))))} #58#return; {2888#(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 11:02:17,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:17,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {2905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:17,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:02:17,668 INFO L272 TraceCheckUtils]: 18: Hoare triple {2895#(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)); {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2895#(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 11:02:17,669 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 15: Hoare triple {2754#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {2754#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L272 TraceCheckUtils]: 8: Hoare triple {2754#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-28 11:02:17,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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);~counter~0 := 0; {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-28 11:02:17,670 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 11:02:17,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:02:17,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1779183267] [2022-04-28 11:02:17,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:02:17,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856487259] [2022-04-28 11:02:17,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856487259] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:02:17,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:02:17,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 11:02:17,671 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:02:17,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [350775350] [2022-04-28 11:02:17,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [350775350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:02:17,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:02:17,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:02:17,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [51399585] [2022-04-28 11:02:17,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:02:17,671 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:17,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:02:17,672 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), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:17,702 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 11:02:17,702 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:02:17,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:17,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:02:17,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:02:17,703 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:19,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:19,280 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-28 11:02:19,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:02:19,280 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:19,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:02:19,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:19,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 11:02:19,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:19,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 11:02:19,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-28 11:02:19,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:19,376 INFO L225 Difference]: With dead ends: 74 [2022-04-28 11:02:19,376 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 11:02:19,377 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:02:19,377 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 268 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 277 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 268 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:02:19,378 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 144 Invalid, 277 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 268 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:02:19,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 11:02:19,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-28 11:02:19,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:02:19,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:02:19,437 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:02:19,438 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:02:19,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:19,439 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-28 11:02:19,439 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-28 11:02:19,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:19,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:19,439 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-28 11:02:19,439 INFO L87 Difference]: Start difference. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-28 11:02:19,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:19,441 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-28 11:02:19,441 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-28 11:02:19,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:19,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:19,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:02:19,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:02:19,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:02:19,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-28 11:02:19,442 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-28 11:02:19,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:02:19,442 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-28 11:02:19,442 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:19,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-28 11:02:19,526 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 11:02:19,526 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 11:02:19,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:02:19,526 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:02:19,526 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:02:19,544 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 11:02:19,727 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 11:02:19,727 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:02:19,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:02:19,727 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-28 11:02:19,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:19,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1654821359] [2022-04-28 11:02:19,817 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:02:19,817 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:02:19,817 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-28 11:02:19,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:02:19,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692155605] [2022-04-28 11:02:19,817 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:02:19,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:02:19,826 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:02:19,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1770484854] [2022-04-28 11:02:19,826 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:02:19,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:02:19,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:02:19,827 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 11:02:19,831 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 11:02:19,869 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:02:19,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:02:19,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 11:02:19,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:02:19,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:02:25,555 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:02:29,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {3357#true} call ULTIMATE.init(); {3357#true} is VALID [2022-04-28 11:02:29,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {3357#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);~counter~0 := 0; {3357#true} is VALID [2022-04-28 11:02:29,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 11:02:29,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3357#true} {3357#true} #62#return; {3357#true} is VALID [2022-04-28 11:02:29,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {3357#true} call #t~ret9 := main(); {3357#true} is VALID [2022-04-28 11:02:29,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {3357#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:29,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:29,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:29,883 INFO L272 TraceCheckUtils]: 8: Hoare triple {3377#(and (= main_~x~0 0) (= (+ 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)); {3357#true} is VALID [2022-04-28 11:02:29,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {3357#true} ~cond := #in~cond; {3357#true} is VALID [2022-04-28 11:02:29,883 INFO L290 TraceCheckUtils]: 10: Hoare triple {3357#true} assume !(0 == ~cond); {3357#true} is VALID [2022-04-28 11:02:29,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 11:02:29,884 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3357#true} {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:29,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:02:29,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {3377#(and (= main_~x~0 0) (= (+ 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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3405#(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 11:02:29,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {3405#(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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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 11:02:29,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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 11:02:29,886 INFO L290 TraceCheckUtils]: 17: Hoare triple {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~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 11:02:29,886 INFO L272 TraceCheckUtils]: 18: Hoare triple {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~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)); {3357#true} is VALID [2022-04-28 11:02:29,887 INFO L290 TraceCheckUtils]: 19: Hoare triple {3357#true} ~cond := #in~cond; {3423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:29,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {3423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:29,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:29,888 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~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)))} #58#return; {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) 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)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:29,889 INFO L290 TraceCheckUtils]: 23: Hoare triple {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) 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)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) 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)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:29,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) 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)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3441#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:02:29,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {3441#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:02:29,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:02:29,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3452#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:02:29,899 INFO L272 TraceCheckUtils]: 28: Hoare triple {3452#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= 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)); {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:29,899 INFO L290 TraceCheckUtils]: 29: Hoare triple {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3460#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:29,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {3460#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3358#false} is VALID [2022-04-28 11:02:29,900 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#false} assume !false; {3358#false} is VALID [2022-04-28 11:02:29,900 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:02:29,900 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:02:36,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#false} assume !false; {3358#false} is VALID [2022-04-28 11:02:36,471 INFO L290 TraceCheckUtils]: 30: Hoare triple {3460#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3358#false} is VALID [2022-04-28 11:02:36,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3460#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:36,472 INFO L272 TraceCheckUtils]: 28: Hoare triple {3476#(= (+ (* 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)); {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:36,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {3480#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3476#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:02:36,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {3480#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3480#(= (+ (* 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 11:02:36,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {3487#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3480#(= (+ (* 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 11:02:36,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {3491#(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; {3487#(= (+ (* (* 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 11:02:36,477 INFO L290 TraceCheckUtils]: 23: Hoare triple {3491#(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); {3491#(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 11:02:36,477 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} {3498#(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)))))} #58#return; {3491#(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 11:02:36,478 INFO L290 TraceCheckUtils]: 21: Hoare triple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:36,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {3508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:36,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {3357#true} ~cond := #in~cond; {3508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:02:36,478 INFO L272 TraceCheckUtils]: 18: Hoare triple {3498#(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)); {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {3357#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3498#(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 11:02:36,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {3357#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {3357#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {3357#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {3357#true} assume !!(~x~0 <= ~X~0); {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3357#true} {3357#true} #58#return; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {3357#true} assume !(0 == ~cond); {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {3357#true} ~cond := #in~cond; {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L272 TraceCheckUtils]: 8: Hoare triple {3357#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3357#true} is VALID [2022-04-28 11:02:36,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {3357#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {3357#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {3357#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {3357#true} call #t~ret9 := main(); {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3357#true} {3357#true} #62#return; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {3357#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);~counter~0 := 0; {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {3357#true} call ULTIMATE.init(); {3357#true} is VALID [2022-04-28 11:02:36,480 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 11:02:36,480 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:02:36,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [692155605] [2022-04-28 11:02:36,480 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:02:36,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1770484854] [2022-04-28 11:02:36,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1770484854] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:02:36,480 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:02:36,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 11:02:36,481 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:02:36,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1654821359] [2022-04-28 11:02:36,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1654821359] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:02:36,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:02:36,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:02:36,481 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522463104] [2022-04-28 11:02:36,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:02:36,482 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:36,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:02:36,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:36,509 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 11:02:36,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:02:36,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:36,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:02:36,510 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:02:36,510 INFO L87 Difference]: Start difference. First operand 58 states and 64 transitions. Second operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:37,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:37,401 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-28 11:02:37,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:02:37,401 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:37,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:02:37,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:37,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 11:02:37,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:37,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 11:02:37,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-28 11:02:37,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:37,465 INFO L225 Difference]: With dead ends: 94 [2022-04-28 11:02:37,465 INFO L226 Difference]: Without dead ends: 80 [2022-04-28 11:02:37,465 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:02:37,465 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:02:37,465 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 166 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:02:37,466 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-28 11:02:37,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-28 11:02:37,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:02:37,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:37,540 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:37,540 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:37,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:37,542 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-28 11:02:37,542 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-28 11:02:37,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:37,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:37,542 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-28 11:02:37,542 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-28 11:02:37,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:37,544 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-28 11:02:37,544 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-28 11:02:37,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:37,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:37,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:02:37,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:02:37,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:37,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-28 11:02:37,546 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-28 11:02:37,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:02:37,546 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-28 11:02:37,546 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:37,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-28 11:02:37,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:37,653 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-28 11:02:37,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:02:37,654 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:02:37,654 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:02:37,672 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 11:02:37,854 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 11:02:37,855 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:02:37,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:02:37,855 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-28 11:02:37,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:37,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1885744177] [2022-04-28 11:02:37,915 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:02:37,916 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:02:37,916 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-28 11:02:37,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:02:37,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1782055349] [2022-04-28 11:02:37,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:02:37,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:02:37,933 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:02:37,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1327738064] [2022-04-28 11:02:37,933 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:02:37,933 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:02:37,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:02:37,944 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 11:02:37,966 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 11:02:38,008 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:02:38,009 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:02:38,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 11:02:38,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:02:38,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:02:38,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2022-04-28 11:02:38,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {4080#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);~counter~0 := 0; {4080#true} is VALID [2022-04-28 11:02:38,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #62#return; {4080#true} is VALID [2022-04-28 11:02:38,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret9 := main(); {4080#true} is VALID [2022-04-28 11:02:38,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {4080#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4100#(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 11:02:38,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4100#(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 11:02:38,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4100#(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 11:02:38,282 INFO L272 TraceCheckUtils]: 8: Hoare triple {4100#(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)); {4080#true} is VALID [2022-04-28 11:02:38,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 11:02:38,282 INFO L290 TraceCheckUtils]: 10: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 11:02:38,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,282 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4080#true} {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {4100#(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 11:02:38,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {4100#(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); {4100#(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 11:02:38,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {4100#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4128#(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 11:02:38,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {4128#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:38,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:38,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:38,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= 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)); {4080#true} is VALID [2022-04-28 11:02:38,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 11:02:38,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 11:02:38,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,285 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4080#true} {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #58#return; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:38,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4157#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:02:38,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {4157#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= 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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4161#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} is VALID [2022-04-28 11:02:38,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {4161#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:02:38,286 INFO L290 TraceCheckUtils]: 26: Hoare triple {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:02:38,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4172#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 1 main_~X~0))} is VALID [2022-04-28 11:02:38,288 INFO L272 TraceCheckUtils]: 28: Hoare triple {4172#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 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)); {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:38,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:38,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {4180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4081#false} is VALID [2022-04-28 11:02:38,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2022-04-28 11:02:38,288 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:02:38,288 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:02:38,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2022-04-28 11:02:38,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {4180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4081#false} is VALID [2022-04-28 11:02:38,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:38,613 INFO L272 TraceCheckUtils]: 28: Hoare triple {4196#(= (+ (* 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)); {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:38,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {4200#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4196#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:02:38,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {4200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4200#(= (+ (* 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 11:02:38,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {4207#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4200#(= (+ (* 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 11:02:38,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {4211#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4207#(= (+ (* (* 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 11:02:38,617 INFO L290 TraceCheckUtils]: 23: Hoare triple {4215#(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); {4211#(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 11:02:38,617 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4080#true} {4215#(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)))} #58#return; {4215#(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 11:02:38,617 INFO L290 TraceCheckUtils]: 21: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 11:02:38,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 11:02:38,618 INFO L272 TraceCheckUtils]: 18: Hoare triple {4215#(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)); {4080#true} is VALID [2022-04-28 11:02:38,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {4215#(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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4215#(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 11:02:38,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {4215#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4215#(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 11:02:38,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {4240#(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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4215#(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 11:02:38,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {4244#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4240#(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 11:02:38,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {4244#(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); {4244#(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 11:02:38,628 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4080#true} {4244#(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))))} #58#return; {4244#(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 11:02:38,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 11:02:38,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 11:02:38,629 INFO L272 TraceCheckUtils]: 8: Hoare triple {4244#(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)); {4080#true} is VALID [2022-04-28 11:02:38,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {4244#(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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4244#(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 11:02:38,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {4244#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4244#(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 11:02:38,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {4080#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4244#(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 11:02:38,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret9 := main(); {4080#true} is VALID [2022-04-28 11:02:38,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #62#return; {4080#true} is VALID [2022-04-28 11:02:38,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 11:02:38,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {4080#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);~counter~0 := 0; {4080#true} is VALID [2022-04-28 11:02:38,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2022-04-28 11:02:38,630 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:02:38,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:02:38,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1782055349] [2022-04-28 11:02:38,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:02:38,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1327738064] [2022-04-28 11:02:38,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1327738064] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:02:38,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:02:38,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-28 11:02:38,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:02:38,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1885744177] [2022-04-28 11:02:38,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1885744177] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:02:38,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:02:38,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:02:38,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043117976] [2022-04-28 11:02:38,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:02:38,632 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:38,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:02:38,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:38,651 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 11:02:38,651 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:02:38,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:38,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:02:38,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:02:38,652 INFO L87 Difference]: Start difference. First operand 78 states and 86 transitions. Second operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:39,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:39,199 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-28 11:02:39,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:02:39,200 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 11:02:39,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:02:39,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:39,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-28 11:02:39,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:39,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-28 11:02:39,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-28 11:02:39,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:39,236 INFO L225 Difference]: With dead ends: 93 [2022-04-28 11:02:39,236 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 11:02:39,236 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:02:39,249 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 262 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:02:39,249 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 183 Invalid, 262 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:02:39,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 11:02:39,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-28 11:02:39,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:02:39,329 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:39,329 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:39,329 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:39,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:39,331 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-28 11:02:39,331 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-28 11:02:39,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:39,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:39,332 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-28 11:02:39,333 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-28 11:02:39,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:39,334 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-28 11:02:39,335 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-28 11:02:39,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:39,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:39,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:02:39,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:02:39,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:39,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-28 11:02:39,336 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-28 11:02:39,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:02:39,336 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-28 11:02:39,336 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:39,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-28 11:02:39,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:39,451 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-28 11:02:39,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 11:02:39,451 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:02:39,451 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:02:39,468 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 11:02:39,651 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 11:02:39,652 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:02:39,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:02:39,652 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-28 11:02:39,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:39,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [273032406] [2022-04-28 11:02:39,749 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:02:39,749 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:02:39,749 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-28 11:02:39,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:02:39,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1150269375] [2022-04-28 11:02:39,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:02:39,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:02:39,766 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:02:39,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [739793285] [2022-04-28 11:02:39,766 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:02:39,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:02:39,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:02:39,776 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 11:02:39,795 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 11:02:39,815 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:02:39,815 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:02:39,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 11:02:39,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:02:39,826 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:02:39,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {4833#true} call ULTIMATE.init(); {4833#true} is VALID [2022-04-28 11:02:39,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {4833#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);~counter~0 := 0; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 11:02:39,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {4841#(<= ~counter~0 0)} assume true; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 11:02:39,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4841#(<= ~counter~0 0)} {4833#true} #62#return; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 11:02:39,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {4841#(<= ~counter~0 0)} call #t~ret9 := main(); {4841#(<= ~counter~0 0)} is VALID [2022-04-28 11:02:39,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {4841#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 11:02:39,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {4841#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {4857#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,981 INFO L272 TraceCheckUtils]: 8: Hoare triple {4857#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {4857#(<= ~counter~0 1)} ~cond := #in~cond; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,982 INFO L290 TraceCheckUtils]: 10: Hoare triple {4857#(<= ~counter~0 1)} assume !(0 == ~cond); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {4857#(<= ~counter~0 1)} assume true; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,983 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4857#(<= ~counter~0 1)} {4857#(<= ~counter~0 1)} #58#return; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {4857#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {4857#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {4857#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 11:02:39,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {4857#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {4888#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,985 INFO L272 TraceCheckUtils]: 18: Hoare triple {4888#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {4888#(<= ~counter~0 2)} ~cond := #in~cond; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {4888#(<= ~counter~0 2)} assume !(0 == ~cond); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,986 INFO L290 TraceCheckUtils]: 21: Hoare triple {4888#(<= ~counter~0 2)} assume true; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,986 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4888#(<= ~counter~0 2)} {4888#(<= ~counter~0 2)} #58#return; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {4888#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {4888#(<= ~counter~0 2)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {4888#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 11:02:39,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {4888#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4919#(<= |main_#t~post6| 2)} is VALID [2022-04-28 11:02:39,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {4919#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L290 TraceCheckUtils]: 28: Hoare triple {4834#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L272 TraceCheckUtils]: 29: Hoare triple {4834#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)); {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#false} ~cond := #in~cond; {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#false} assume 0 == ~cond; {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#false} assume !false; {4834#false} is VALID [2022-04-28 11:02:39,988 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:02:39,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:02:40,167 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#false} assume !false; {4834#false} is VALID [2022-04-28 11:02:40,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#false} assume 0 == ~cond; {4834#false} is VALID [2022-04-28 11:02:40,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#false} ~cond := #in~cond; {4834#false} is VALID [2022-04-28 11:02:40,167 INFO L272 TraceCheckUtils]: 29: Hoare triple {4834#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)); {4834#false} is VALID [2022-04-28 11:02:40,167 INFO L290 TraceCheckUtils]: 28: Hoare triple {4834#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4834#false} is VALID [2022-04-28 11:02:40,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {4953#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4834#false} is VALID [2022-04-28 11:02:40,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4953#(< |main_#t~post6| 20)} is VALID [2022-04-28 11:02:40,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#(< ~counter~0 20)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {4957#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,169 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4833#true} {4957#(< ~counter~0 20)} #58#return; {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {4833#true} assume true; {4833#true} is VALID [2022-04-28 11:02:40,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {4833#true} assume !(0 == ~cond); {4833#true} is VALID [2022-04-28 11:02:40,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {4833#true} ~cond := #in~cond; {4833#true} is VALID [2022-04-28 11:02:40,170 INFO L272 TraceCheckUtils]: 18: Hoare triple {4957#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4833#true} is VALID [2022-04-28 11:02:40,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {4957#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,171 INFO L290 TraceCheckUtils]: 16: Hoare triple {4988#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4957#(< ~counter~0 20)} is VALID [2022-04-28 11:02:40,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {4988#(< ~counter~0 19)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {4988#(< ~counter~0 19)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,171 INFO L290 TraceCheckUtils]: 13: Hoare triple {4988#(< ~counter~0 19)} assume !!(~x~0 <= ~X~0); {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,172 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4833#true} {4988#(< ~counter~0 19)} #58#return; {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {4833#true} assume true; {4833#true} is VALID [2022-04-28 11:02:40,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {4833#true} assume !(0 == ~cond); {4833#true} is VALID [2022-04-28 11:02:40,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {4833#true} ~cond := #in~cond; {4833#true} is VALID [2022-04-28 11:02:40,172 INFO L272 TraceCheckUtils]: 8: Hoare triple {4988#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4833#true} is VALID [2022-04-28 11:02:40,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {4988#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {5019#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4988#(< ~counter~0 19)} is VALID [2022-04-28 11:02:40,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {5019#(< ~counter~0 18)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5019#(< ~counter~0 18)} is VALID [2022-04-28 11:02:40,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {5019#(< ~counter~0 18)} call #t~ret9 := main(); {5019#(< ~counter~0 18)} is VALID [2022-04-28 11:02:40,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5019#(< ~counter~0 18)} {4833#true} #62#return; {5019#(< ~counter~0 18)} is VALID [2022-04-28 11:02:40,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {5019#(< ~counter~0 18)} assume true; {5019#(< ~counter~0 18)} is VALID [2022-04-28 11:02:40,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {4833#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);~counter~0 := 0; {5019#(< ~counter~0 18)} is VALID [2022-04-28 11:02:40,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {4833#true} call ULTIMATE.init(); {4833#true} is VALID [2022-04-28 11:02:40,175 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:02:40,175 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:02:40,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1150269375] [2022-04-28 11:02:40,175 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:02:40,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739793285] [2022-04-28 11:02:40,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739793285] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:02:40,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:02:40,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 11:02:40,176 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:02:40,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [273032406] [2022-04-28 11:02:40,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [273032406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:02:40,176 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:02:40,176 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:02:40,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1435706168] [2022-04-28 11:02:40,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:02:40,176 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 11:02:40,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:02:40,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:40,200 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 11:02:40,200 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:02:40,200 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:40,200 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:02:40,200 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 11:02:40,200 INFO L87 Difference]: Start difference. First operand 86 states and 95 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:40,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:40,343 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-28 11:02:40,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:02:40,344 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 11:02:40,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:02:40,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:40,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 11:02:40,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:40,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 11:02:40,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 11:02:40,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:40,381 INFO L225 Difference]: With dead ends: 94 [2022-04-28 11:02:40,381 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 11:02:40,381 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:02:40,382 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 5 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:02:40,382 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 83 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:02:40,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 11:02:40,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-28 11:02:40,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:02:40,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:40,456 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:40,456 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:40,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:40,457 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-28 11:02:40,457 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 11:02:40,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:40,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:40,458 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-28 11:02:40,458 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-28 11:02:40,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:40,459 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-28 11:02:40,459 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 11:02:40,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:40,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:40,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:02:40,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:02:40,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:02:40,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-28 11:02:40,461 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-28 11:02:40,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:02:40,461 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-28 11:02:40,461 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:02:40,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-28 11:02:40,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:40,583 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 11:02:40,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 11:02:40,584 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:02:40,584 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:02:40,600 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 11:02:40,784 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 11:02:40,784 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:02:40,785 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:02:40,785 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-28 11:02:40,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:40,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1070874717] [2022-04-28 11:02:40,825 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:02:40,825 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:02:40,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-28 11:02:40,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:02:40,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [230528539] [2022-04-28 11:02:40,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:02:40,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:02:40,834 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:02:40,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [88921294] [2022-04-28 11:02:40,834 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:02:40,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:02:40,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:02:40,847 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 11:02:40,848 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 11:02:40,889 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:02:40,889 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:02:40,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:02:40,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:02:40,900 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:02:41,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 11:02:41,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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);~counter~0 := 0; {5576#true} is VALID [2022-04-28 11:02:41,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5576#true} {5576#true} #62#return; {5576#true} is VALID [2022-04-28 11:02:41,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {5576#true} call #t~ret9 := main(); {5576#true} is VALID [2022-04-28 11:02:41,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {5576#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:02:41,318 INFO L290 TraceCheckUtils]: 6: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:02:41,318 INFO L290 TraceCheckUtils]: 7: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:02:41,318 INFO L272 TraceCheckUtils]: 8: Hoare triple {5596#(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)); {5576#true} is VALID [2022-04-28 11:02:41,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 11:02:41,318 INFO L290 TraceCheckUtils]: 10: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 11:02:41,318 INFO L290 TraceCheckUtils]: 11: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,319 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5576#true} {5596#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:02:41,319 INFO L290 TraceCheckUtils]: 13: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:02:41,319 INFO L290 TraceCheckUtils]: 14: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5624#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {5624#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,321 INFO L290 TraceCheckUtils]: 17: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,321 INFO L272 TraceCheckUtils]: 18: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) 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)); {5576#true} is VALID [2022-04-28 11:02:41,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 11:02:41,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 11:02:41,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,321 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5576#true} {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #58#return; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,322 INFO L290 TraceCheckUtils]: 23: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(~x~0 <= ~X~0); {5653#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {5653#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5657#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} is VALID [2022-04-28 11:02:41,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {5657#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:02:41,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:02:41,323 INFO L290 TraceCheckUtils]: 27: Hoare triple {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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 11:02:41,323 INFO L272 TraceCheckUtils]: 28: Hoare triple {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)); {5576#true} is VALID [2022-04-28 11:02:41,324 INFO L290 TraceCheckUtils]: 29: Hoare triple {5576#true} ~cond := #in~cond; {5675#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:41,324 INFO L290 TraceCheckUtils]: 30: Hoare triple {5675#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:41,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:41,325 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)))} #58#return; {5686#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:02:41,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {5686#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5690#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:02:41,326 INFO L290 TraceCheckUtils]: 34: Hoare triple {5690#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)) (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; {5694#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-28 11:02:41,327 INFO L272 TraceCheckUtils]: 35: Hoare triple {5694#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (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)); {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:41,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:41,328 INFO L290 TraceCheckUtils]: 37: Hoare triple {5702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 11:02:41,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 11:02:41,328 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 11 proven. 15 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:02:41,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:02:41,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 11:02:41,914 INFO L290 TraceCheckUtils]: 37: Hoare triple {5702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 11:02:41,915 INFO L290 TraceCheckUtils]: 36: Hoare triple {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:02:41,915 INFO L272 TraceCheckUtils]: 35: Hoare triple {5718#(= (+ (* 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)); {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:02:41,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {5722#(= (+ (* 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; {5718#(= (+ (* 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 11:02:41,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {5726#(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); {5722#(= (+ (* 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 11:02:41,918 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} {5730#(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)))))} #58#return; {5726#(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 11:02:41,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:41,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {5740#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:02:41,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {5576#true} ~cond := #in~cond; {5740#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:02:41,919 INFO L272 TraceCheckUtils]: 28: Hoare triple {5730#(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)); {5576#true} is VALID [2022-04-28 11:02:41,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {5747#(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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5730#(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 11:02:41,920 INFO L290 TraceCheckUtils]: 26: Hoare triple {5747#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5747#(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 11:02:41,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {5754#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5747#(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 11:02:41,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {5758#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5754#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-28 11:02:41,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {5576#true} assume !!(~x~0 <= ~X~0); {5758#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* 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 11:02:41,924 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5576#true} {5576#true} #58#return; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L272 TraceCheckUtils]: 18: Hoare triple {5576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {5576#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {5576#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {5576#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {5576#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {5576#true} assume !!(~x~0 <= ~X~0); {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5576#true} {5576#true} #58#return; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L272 TraceCheckUtils]: 8: Hoare triple {5576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {5576#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {5576#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {5576#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5576#true} is VALID [2022-04-28 11:02:41,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {5576#true} call #t~ret9 := main(); {5576#true} is VALID [2022-04-28 11:02:41,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5576#true} {5576#true} #62#return; {5576#true} is VALID [2022-04-28 11:02:41,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 11:02:41,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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);~counter~0 := 0; {5576#true} is VALID [2022-04-28 11:02:41,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 11:02:41,926 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 21 proven. 1 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:02:41,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:02:41,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [230528539] [2022-04-28 11:02:41,926 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:02:41,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [88921294] [2022-04-28 11:02:41,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [88921294] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:02:41,926 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:02:41,926 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 11:02:41,927 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:02:41,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1070874717] [2022-04-28 11:02:41,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1070874717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:02:41,927 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:02:41,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:02:41,927 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308144591] [2022-04-28 11:02:41,927 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:02:41,927 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-28 11:02:41,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:02:41,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:02:41,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:41,949 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:02:41,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:41,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:02:41,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:02:41,950 INFO L87 Difference]: Start difference. First operand 86 states and 92 transitions. Second operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:02:42,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:42,894 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 11:02:42,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:02:42,895 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-28 11:02:42,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:02:42,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:02:42,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 11:02:42,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:02:42,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 11:02:42,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-28 11:02:42,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:02:42,940 INFO L225 Difference]: With dead ends: 97 [2022-04-28 11:02:42,940 INFO L226 Difference]: Without dead ends: 89 [2022-04-28 11:02:42,940 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-28 11:02:42,941 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 17 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 384 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 384 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:02:42,941 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 206 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 384 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:02:42,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-28 11:02:43,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-28 11:02:43,013 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:02:43,013 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:43,013 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:43,013 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:43,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:43,014 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-28 11:02:43,014 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-28 11:02:43,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:43,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:43,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-28 11:02:43,015 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-28 11:02:43,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:02:43,016 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-28 11:02:43,016 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-28 11:02:43,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:02:43,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:02:43,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:02:43,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:02:43,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:02:43,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-28 11:02:43,018 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-28 11:02:43,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:02:43,018 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-28 11:02:43,018 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:02:43,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-28 11:02:43,129 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 11:02:43,129 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-28 11:02:43,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 11:02:43,130 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:02:43,130 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:02:43,145 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 11:02:43,330 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 11:02:43,330 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:02:43,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:02:43,331 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-28 11:02:43,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:02:43,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1160958791] [2022-04-28 11:02:43,377 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:02:43,377 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:02:43,377 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-28 11:02:43,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:02:43,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [651218408] [2022-04-28 11:02:43,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:02:43,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:02:43,386 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:02:43,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [403632118] [2022-04-28 11:02:43,386 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:02:43,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:02:43,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:02:43,387 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 11:02:43,389 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 11:02:43,425 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:02:43,426 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:02:43,426 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 11:02:43,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:02:43,436 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:03:02,364 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:03:51,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 11:03:51,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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);~counter~0 := 0; {6371#true} is VALID [2022-04-28 11:03:51,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:51,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #62#return; {6371#true} is VALID [2022-04-28 11:03:51,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret9 := main(); {6371#true} is VALID [2022-04-28 11:03:51,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,874 INFO L272 TraceCheckUtils]: 8: Hoare triple {6391#(= 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)); {6371#true} is VALID [2022-04-28 11:03:51,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 11:03:51,874 INFO L290 TraceCheckUtils]: 10: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 11:03:51,874 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:51,875 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6371#true} {6391#(= main_~y~0 0)} #58#return; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {6391#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {6391#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {6391#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 16: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,876 INFO L272 TraceCheckUtils]: 18: Hoare triple {6391#(= 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)); {6371#true} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 11:03:51,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:51,877 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6371#true} {6391#(= main_~y~0 0)} #58#return; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,877 INFO L290 TraceCheckUtils]: 23: Hoare triple {6391#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,877 INFO L290 TraceCheckUtils]: 24: Hoare triple {6391#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {6391#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,878 INFO L290 TraceCheckUtils]: 26: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 11:03:51,878 INFO L290 TraceCheckUtils]: 27: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6458#(and (= (* 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 11:03:51,878 INFO L272 TraceCheckUtils]: 28: Hoare triple {6458#(and (= (* 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)); {6371#true} is VALID [2022-04-28 11:03:51,879 INFO L290 TraceCheckUtils]: 29: Hoare triple {6371#true} ~cond := #in~cond; {6465#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:03:51,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {6465#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:03:51,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:03:51,880 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} {6458#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {6476#(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 0))} is VALID [2022-04-28 11:03:51,881 INFO L290 TraceCheckUtils]: 33: Hoare triple {6476#(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 0))} assume !!(~x~0 <= ~X~0); {6476#(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 0))} is VALID [2022-04-28 11:03:51,881 INFO L290 TraceCheckUtils]: 34: Hoare triple {6476#(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 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6483#(and (= main_~y~0 0) (= (+ (* (* 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 11:03:51,883 INFO L290 TraceCheckUtils]: 35: Hoare triple {6483#(and (= main_~y~0 0) (= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6476#(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 0))} is VALID [2022-04-28 11:03:51,884 INFO L290 TraceCheckUtils]: 36: Hoare triple {6476#(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 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6476#(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 0))} is VALID [2022-04-28 11:03:53,887 WARN L290 TraceCheckUtils]: 37: Hoare triple {6476#(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 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6493#(and (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)) (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) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} is UNKNOWN [2022-04-28 11:03:53,890 INFO L272 TraceCheckUtils]: 38: Hoare triple {6493#(and (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)) (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) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:03:53,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6501#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:03:53,890 INFO L290 TraceCheckUtils]: 40: Hoare triple {6501#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 11:03:53,890 INFO L290 TraceCheckUtils]: 41: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 11:03:53,891 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:03:53,891 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:03:56,117 INFO L290 TraceCheckUtils]: 41: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 11:03:56,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {6501#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 11:03:56,118 INFO L290 TraceCheckUtils]: 39: Hoare triple {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6501#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:03:56,119 INFO L272 TraceCheckUtils]: 38: Hoare triple {6517#(= (+ (* 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)); {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:03:56,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {6521#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:03:56,120 INFO L290 TraceCheckUtils]: 36: Hoare triple {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6521#(= (+ (* 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 11:03:56,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {6528#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6521#(= (+ (* 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 11:03:56,122 INFO L290 TraceCheckUtils]: 34: Hoare triple {6521#(= (+ (* 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; {6528#(= (+ (* (* 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 11:03:56,123 INFO L290 TraceCheckUtils]: 33: Hoare triple {6521#(= (+ (* 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); {6521#(= (+ (* 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 11:03:56,124 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} {6538#(= (+ (* (* 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))))} #58#return; {6521#(= (+ (* 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 11:03:56,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:03:56,124 INFO L290 TraceCheckUtils]: 30: Hoare triple {6548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:03:56,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {6371#true} ~cond := #in~cond; {6548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:03:56,125 INFO L272 TraceCheckUtils]: 28: Hoare triple {6538#(= (+ (* (* 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)); {6371#true} is VALID [2022-04-28 11:03:56,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {6371#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6538#(= (+ (* (* 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 11:03:56,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 11:03:56,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {6371#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6371#true} is VALID [2022-04-28 11:03:56,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {6371#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 23: Hoare triple {6371#true} assume !!(~x~0 <= ~X~0); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6371#true} {6371#true} #58#return; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L272 TraceCheckUtils]: 18: Hoare triple {6371#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 17: Hoare triple {6371#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 16: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {6371#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {6371#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {6371#true} assume !!(~x~0 <= ~X~0); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6371#true} {6371#true} #58#return; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L272 TraceCheckUtils]: 8: Hoare triple {6371#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 11:03:56,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {6371#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L290 TraceCheckUtils]: 6: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret9 := main(); {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #62#return; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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);~counter~0 := 0; {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 11:03:56,127 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:03:56,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:03:56,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [651218408] [2022-04-28 11:03:56,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:03:56,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [403632118] [2022-04-28 11:03:56,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [403632118] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:03:56,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:03:56,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 11:03:56,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:03:56,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1160958791] [2022-04-28 11:03:56,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1160958791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:03:56,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:03:56,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:03:56,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [918796970] [2022-04-28 11:03:56,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:03:56,128 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 11:03:56,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:03:56,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:03:58,158 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:03:58,158 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:03:58,158 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:03:58,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:03:58,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-28 11:03:58,158 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:04:14,638 WARN L232 SmtUtils]: Spent 16.21s on a formula simplification. DAG size of input: 45 DAG size of output: 33 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 11:04:19,699 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 11:04:24,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:24,193 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2022-04-28 11:04:24,193 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 11:04:24,193 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 11:04:24,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:04:24,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:04:24,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2022-04-28 11:04:24,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:04:24,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2022-04-28 11:04:24,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 42 transitions. [2022-04-28 11:04:26,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:26,242 INFO L225 Difference]: With dead ends: 103 [2022-04-28 11:04:26,242 INFO L226 Difference]: Without dead ends: 97 [2022-04-28 11:04:26,242 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 21.1s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-28 11:04:26,242 INFO L413 NwaCegarLoop]: 13 mSDtfsCounter, 21 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 9 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:04:26,243 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 81 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 115 Invalid, 1 Unknown, 0 Unchecked, 2.6s Time] [2022-04-28 11:04:26,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-28 11:04:26,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-28 11:04:26,331 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:04:26,332 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:04:26,332 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:04:26,332 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:04:26,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:26,333 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 11:04:26,333 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-28 11:04:26,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:26,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:26,334 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-28 11:04:26,334 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-28 11:04:26,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:26,335 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 11:04:26,335 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-28 11:04:26,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:26,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:26,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:04:26,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:04:26,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:04:26,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-28 11:04:26,337 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-28 11:04:26,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:04:26,337 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-28 11:04:26,337 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:04:26,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-28 11:04:28,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 94 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:28,501 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 11:04:28,502 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 11:04:28,502 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:28,502 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:04:28,520 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 11:04:28,702 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 11:04:28,703 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:28,703 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:28,703 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-28 11:04:28,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:28,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [328101514] [2022-04-28 11:04:28,783 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:04:28,783 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:04:28,783 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-28 11:04:28,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:28,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [161298067] [2022-04-28 11:04:28,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:28,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:28,792 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:04:28,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [14877012] [2022-04-28 11:04:28,792 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:04:28,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:28,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:28,793 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 11:04:28,794 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 11:04:28,838 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:04:28,838 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:04:28,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 11:04:28,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:28,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:04:39,757 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:04:44,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {7224#true} call ULTIMATE.init(); {7224#true} is VALID [2022-04-28 11:04:44,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {7224#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);~counter~0 := 0; {7224#true} is VALID [2022-04-28 11:04:44,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:44,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7224#true} {7224#true} #62#return; {7224#true} is VALID [2022-04-28 11:04:44,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {7224#true} call #t~ret9 := main(); {7224#true} is VALID [2022-04-28 11:04:44,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {7224#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,948 INFO L290 TraceCheckUtils]: 6: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,949 INFO L272 TraceCheckUtils]: 8: Hoare triple {7244#(= 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)); {7224#true} is VALID [2022-04-28 11:04:44,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 11:04:44,949 INFO L290 TraceCheckUtils]: 10: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 11:04:44,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:44,949 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7224#true} {7244#(= main_~y~0 0)} #58#return; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {7244#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {7244#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {7244#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,951 INFO L272 TraceCheckUtils]: 18: Hoare triple {7244#(= 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)); {7224#true} is VALID [2022-04-28 11:04:44,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 11:04:44,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 11:04:44,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:44,951 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7224#true} {7244#(= main_~y~0 0)} #58#return; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {7244#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,952 INFO L290 TraceCheckUtils]: 24: Hoare triple {7244#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,952 INFO L290 TraceCheckUtils]: 25: Hoare triple {7244#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 11:04:44,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7311#(and (= (* 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 11:04:44,953 INFO L272 TraceCheckUtils]: 28: Hoare triple {7311#(and (= (* 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)); {7224#true} is VALID [2022-04-28 11:04:44,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {7224#true} ~cond := #in~cond; {7318#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:44,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {7318#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:44,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:44,955 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} {7311#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {7329#(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 0))} is VALID [2022-04-28 11:04:44,955 INFO L290 TraceCheckUtils]: 33: Hoare triple {7329#(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 0))} assume !!(~x~0 <= ~X~0); {7329#(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 0))} is VALID [2022-04-28 11:04:44,956 INFO L290 TraceCheckUtils]: 34: Hoare triple {7329#(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 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7336#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:04:44,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {7336#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:04:44,958 INFO L290 TraceCheckUtils]: 36: Hoare triple {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:04:46,962 WARN L290 TraceCheckUtils]: 37: Hoare triple {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7347#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~X~0 main_~xy~0))} is UNKNOWN [2022-04-28 11:04:46,965 INFO L272 TraceCheckUtils]: 38: Hoare triple {7347#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 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)); {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:46,965 INFO L290 TraceCheckUtils]: 39: Hoare triple {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:46,966 INFO L290 TraceCheckUtils]: 40: Hoare triple {7355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7225#false} is VALID [2022-04-28 11:04:46,966 INFO L290 TraceCheckUtils]: 41: Hoare triple {7225#false} assume !false; {7225#false} is VALID [2022-04-28 11:04:46,966 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:04:46,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:04:56,133 INFO L290 TraceCheckUtils]: 41: Hoare triple {7225#false} assume !false; {7225#false} is VALID [2022-04-28 11:04:56,134 INFO L290 TraceCheckUtils]: 40: Hoare triple {7355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7225#false} is VALID [2022-04-28 11:04:56,134 INFO L290 TraceCheckUtils]: 39: Hoare triple {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:56,135 INFO L272 TraceCheckUtils]: 38: Hoare triple {7371#(= (+ (* 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)); {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:56,136 INFO L290 TraceCheckUtils]: 37: Hoare triple {7375#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7371#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:04:56,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7375#(= (+ (* 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 11:04:56,138 INFO L290 TraceCheckUtils]: 35: Hoare triple {7382#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7375#(= (+ (* 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 11:04:56,140 INFO L290 TraceCheckUtils]: 34: Hoare triple {7375#(= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7382#(= (+ (* (* 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 11:04:56,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {7375#(= (+ (* 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); {7375#(= (+ (* 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 11:04:56,152 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} {7392#(= (+ (* (* 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))))} #58#return; {7375#(= (+ (* 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 11:04:56,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:56,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {7402#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:56,153 INFO L290 TraceCheckUtils]: 29: Hoare triple {7224#true} ~cond := #in~cond; {7402#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:04:56,153 INFO L272 TraceCheckUtils]: 28: Hoare triple {7392#(= (+ (* (* 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)); {7224#true} is VALID [2022-04-28 11:04:56,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {7224#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7392#(= (+ (* (* 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 11:04:56,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 11:04:56,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {7224#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7224#true} is VALID [2022-04-28 11:04:56,154 INFO L290 TraceCheckUtils]: 24: Hoare triple {7224#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7224#true} is VALID [2022-04-28 11:04:56,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {7224#true} assume !!(~x~0 <= ~X~0); {7224#true} is VALID [2022-04-28 11:04:56,154 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7224#true} {7224#true} #58#return; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L272 TraceCheckUtils]: 18: Hoare triple {7224#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {7224#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {7224#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {7224#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {7224#true} assume !!(~x~0 <= ~X~0); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7224#true} {7224#true} #58#return; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 10: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L272 TraceCheckUtils]: 8: Hoare triple {7224#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {7224#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 6: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {7224#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {7224#true} call #t~ret9 := main(); {7224#true} is VALID [2022-04-28 11:04:56,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7224#true} {7224#true} #62#return; {7224#true} is VALID [2022-04-28 11:04:56,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 11:04:56,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {7224#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);~counter~0 := 0; {7224#true} is VALID [2022-04-28 11:04:56,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {7224#true} call ULTIMATE.init(); {7224#true} is VALID [2022-04-28 11:04:56,156 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:04:56,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:04:56,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [161298067] [2022-04-28 11:04:56,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:04:56,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [14877012] [2022-04-28 11:04:56,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [14877012] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:04:56,156 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:04:56,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-28 11:04:56,156 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:04:56,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [328101514] [2022-04-28 11:04:56,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [328101514] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:56,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:56,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 11:04:56,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [158645918] [2022-04-28 11:04:56,157 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:04:56,157 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 11:04:56,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:04:56,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:04:58,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:58,192 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 11:04:58,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:58,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 11:04:58,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:04:58,192 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:05:01,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:01,330 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-28 11:05:01,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:05:01,330 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 11:05:01,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:01,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:05:01,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-28 11:05:01,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:05:01,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-28 11:05:01,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-28 11:05:03,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:03,384 INFO L225 Difference]: With dead ends: 103 [2022-04-28 11:05:03,384 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 11:05:03,384 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:05:03,385 INFO L413 NwaCegarLoop]: 14 mSDtfsCounter, 22 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 203 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 212 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:03,385 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 103 Invalid, 212 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 203 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 11:05:03,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 11:05:03,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-28 11:05:03,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:03,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:05:03,473 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:05:03,473 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:05:03,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:03,475 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 11:05:03,475 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 11:05:03,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:03,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:03,475 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-28 11:05:03,475 INFO L87 Difference]: Start difference. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-28 11:05:03,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:03,476 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 11:05:03,477 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 11:05:03,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:03,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:03,477 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:03,477 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:03,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:05:03,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-28 11:05:03,478 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-28 11:05:03,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:03,478 INFO L495 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-28 11:05:03,479 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 11:05:03,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-28 11:05:07,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 106 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:07,700 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-28 11:05:07,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 11:05:07,701 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:07,701 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:05:07,718 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 11:05:07,901 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 11:05:07,901 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:07,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:07,901 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-28 11:05:07,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:07,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2022669338] [2022-04-28 11:05:07,984 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:05:07,984 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:05:07,984 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-28 11:05:07,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:07,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [485685359] [2022-04-28 11:05:07,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:07,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:07,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:07,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [88488395] [2022-04-28 11:05:07,992 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:07,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:07,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:07,993 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 11:05:07,994 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 11:05:08,039 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:08,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:08,040 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 11:05:08,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:08,051 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:09,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {8104#true} call ULTIMATE.init(); {8104#true} is VALID [2022-04-28 11:05:09,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {8104#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);~counter~0 := 0; {8104#true} is VALID [2022-04-28 11:05:09,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 11:05:09,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8104#true} {8104#true} #62#return; {8104#true} is VALID [2022-04-28 11:05:09,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {8104#true} call #t~ret9 := main(); {8104#true} is VALID [2022-04-28 11:05:09,289 INFO L290 TraceCheckUtils]: 5: Hoare triple {8104#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:05:09,289 INFO L290 TraceCheckUtils]: 6: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:05:09,289 INFO L290 TraceCheckUtils]: 7: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:05:09,289 INFO L272 TraceCheckUtils]: 8: Hoare triple {8124#(and (= main_~x~0 0) (= (+ 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)); {8104#true} is VALID [2022-04-28 11:05:09,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 11:05:09,290 INFO L290 TraceCheckUtils]: 10: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 11:05:09,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 11:05:09,290 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8104#true} {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:05:09,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:05:09,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {8124#(and (= main_~x~0 0) (= (+ 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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8152#(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 11:05:09,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {8152#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:05:09,292 INFO L290 TraceCheckUtils]: 16: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:05:09,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8163#(and (= (+ (- 1) main_~y~0) 0) (= 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 11:05:09,293 INFO L272 TraceCheckUtils]: 18: Hoare triple {8163#(and (= (+ (- 1) main_~y~0) 0) (= 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)); {8104#true} is VALID [2022-04-28 11:05:09,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {8104#true} ~cond := #in~cond; {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:09,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:09,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:09,294 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8163#(and (= (+ (- 1) main_~y~0) 0) (= 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)))} #58#return; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:05:09,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:05:09,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= 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; {8187#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} is VALID [2022-04-28 11:05:09,296 INFO L290 TraceCheckUtils]: 25: Hoare triple {8187#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,297 INFO L272 TraceCheckUtils]: 28: Hoare triple {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= 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)); {8104#true} is VALID [2022-04-28 11:05:09,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {8104#true} ~cond := #in~cond; {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:09,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:09,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:09,298 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,299 INFO L290 TraceCheckUtils]: 33: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {8217#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {8217#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8221#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} is VALID [2022-04-28 11:05:09,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {8221#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:05:09,301 INFO L290 TraceCheckUtils]: 36: Hoare triple {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:05:09,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8232#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} is VALID [2022-04-28 11:05:09,302 INFO L272 TraceCheckUtils]: 38: Hoare triple {8232#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~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)); {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:09,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8240#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:09,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {8240#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8105#false} is VALID [2022-04-28 11:05:09,303 INFO L290 TraceCheckUtils]: 41: Hoare triple {8105#false} assume !false; {8105#false} is VALID [2022-04-28 11:05:09,303 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:05:09,303 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:16,334 INFO L290 TraceCheckUtils]: 41: Hoare triple {8105#false} assume !false; {8105#false} is VALID [2022-04-28 11:05:16,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {8240#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8105#false} is VALID [2022-04-28 11:05:16,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8240#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:16,335 INFO L272 TraceCheckUtils]: 38: Hoare triple {8256#(= (+ (* 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)); {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:16,336 INFO L290 TraceCheckUtils]: 37: Hoare triple {8260#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8256#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:05:16,337 INFO L290 TraceCheckUtils]: 36: Hoare triple {8260#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8260#(= (+ (* 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 11:05:16,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {8267#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8260#(= (+ (* 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 11:05:16,340 INFO L290 TraceCheckUtils]: 34: Hoare triple {8271#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8267#(= (+ (* (* 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 11:05:16,340 INFO L290 TraceCheckUtils]: 33: Hoare triple {8275#(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); {8271#(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 11:05:16,341 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8279#(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)))) (not (<= main_~x~0 main_~X~0)))} #58#return; {8275#(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 11:05:16,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:16,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {8289#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:16,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {8104#true} ~cond := #in~cond; {8289#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:05:16,342 INFO L272 TraceCheckUtils]: 28: Hoare triple {8279#(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)))) (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)); {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {8104#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8279#(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)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 26: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {8104#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {8104#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {8104#true} assume !!(~x~0 <= ~X~0); {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8104#true} {8104#true} #58#return; {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 11:05:16,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L272 TraceCheckUtils]: 18: Hoare triple {8104#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {8104#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {8104#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {8104#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {8104#true} assume !!(~x~0 <= ~X~0); {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8104#true} {8104#true} #58#return; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L272 TraceCheckUtils]: 8: Hoare triple {8104#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {8104#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {8104#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {8104#true} call #t~ret9 := main(); {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8104#true} {8104#true} #62#return; {8104#true} is VALID [2022-04-28 11:05:16,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 11:05:16,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {8104#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);~counter~0 := 0; {8104#true} is VALID [2022-04-28 11:05:16,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {8104#true} call ULTIMATE.init(); {8104#true} is VALID [2022-04-28 11:05:16,345 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:05:16,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:16,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [485685359] [2022-04-28 11:05:16,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:16,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [88488395] [2022-04-28 11:05:16,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [88488395] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:16,345 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:16,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-28 11:05:16,345 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:16,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2022669338] [2022-04-28 11:05:16,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2022669338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:16,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:16,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:05:16,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506111313] [2022-04-28 11:05:16,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:16,346 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 11:05:16,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:16,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:16,382 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 11:05:16,382 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:05:16,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:16,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:05:16,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:05:16,383 INFO L87 Difference]: Start difference. First operand 98 states and 108 transitions. Second operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:19,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:19,919 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-28 11:05:19,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:05:19,919 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 11:05:19,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:19,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-28 11:05:19,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-28 11:05:19,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-28 11:05:19,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:19,982 INFO L225 Difference]: With dead ends: 113 [2022-04-28 11:05:19,982 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 11:05:19,982 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=124, Invalid=632, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:05:19,983 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 239 SdHoareTripleChecker+Invalid, 537 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 532 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:19,983 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 239 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 532 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 11:05:19,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 11:05:20,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-28 11:05:20,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:20,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:05:20,077 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:05:20,077 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:05:20,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:20,078 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-28 11:05:20,078 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-28 11:05:20,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:20,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:20,079 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-28 11:05:20,079 INFO L87 Difference]: Start difference. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-28 11:05:20,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:20,080 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-28 11:05:20,080 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-28 11:05:20,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:20,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:20,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:20,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:20,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:05:20,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-28 11:05:20,082 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-28 11:05:20,082 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:20,082 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-28 11:05:20,082 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:20,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-28 11:05:24,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 115 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:24,281 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-28 11:05:24,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 11:05:24,281 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:24,281 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:05:24,297 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 11:05:24,482 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 11:05:24,482 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:24,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:24,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-28 11:05:24,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:24,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279608838] [2022-04-28 11:05:24,553 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:05:24,553 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:05:24,553 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-28 11:05:24,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:24,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307045159] [2022-04-28 11:05:24,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:24,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:24,583 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:24,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1412363340] [2022-04-28 11:05:24,584 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:05:24,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:24,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:24,585 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 11:05:24,586 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 11:05:24,636 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:05:24,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:24,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:05:24,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:24,648 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:46,754 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:01,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {9047#true} call ULTIMATE.init(); {9047#true} is VALID [2022-04-28 11:06:01,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {9047#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);~counter~0 := 0; {9047#true} is VALID [2022-04-28 11:06:01,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:01,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9047#true} {9047#true} #62#return; {9047#true} is VALID [2022-04-28 11:06:01,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {9047#true} call #t~ret9 := main(); {9047#true} is VALID [2022-04-28 11:06:01,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {9047#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,091 INFO L290 TraceCheckUtils]: 6: Hoare triple {9067#(= main_~x~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {9067#(= main_~x~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,091 INFO L272 TraceCheckUtils]: 8: Hoare triple {9067#(= 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)); {9047#true} is VALID [2022-04-28 11:06:01,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 11:06:01,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 11:06:01,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:01,092 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9047#true} {9067#(= main_~x~0 0)} #58#return; {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {9067#(= main_~x~0 0)} assume !!(~x~0 <= ~X~0); {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {9067#(= main_~x~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9067#(= main_~x~0 0)} is VALID [2022-04-28 11:06:01,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {9067#(= main_~x~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {9098#(= main_~x~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {9098#(= main_~x~0 1)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,093 INFO L272 TraceCheckUtils]: 18: Hoare triple {9098#(= 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)); {9047#true} is VALID [2022-04-28 11:06:01,093 INFO L290 TraceCheckUtils]: 19: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 11:06:01,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 11:06:01,093 INFO L290 TraceCheckUtils]: 21: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:01,094 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9047#true} {9098#(= main_~x~0 1)} #58#return; {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {9098#(= main_~x~0 1)} assume !!(~x~0 <= ~X~0); {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {9098#(= main_~x~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9098#(= main_~x~0 1)} is VALID [2022-04-28 11:06:01,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {9098#(= main_~x~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9129#(= main_~x~0 2)} is VALID [2022-04-28 11:06:01,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {9129#(= main_~x~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9129#(= main_~x~0 2)} is VALID [2022-04-28 11:06:01,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {9129#(= main_~x~0 2)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9136#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-28 11:06:01,095 INFO L272 TraceCheckUtils]: 28: Hoare triple {9136#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= 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)); {9047#true} is VALID [2022-04-28 11:06:01,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {9047#true} ~cond := #in~cond; {9143#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:01,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {9143#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:01,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:01,097 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} {9136#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {9154#(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_~x~0 2))} is VALID [2022-04-28 11:06:01,098 INFO L290 TraceCheckUtils]: 33: Hoare triple {9154#(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_~x~0 2))} assume !!(~x~0 <= ~X~0); {9154#(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_~x~0 2))} is VALID [2022-04-28 11:06:01,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {9154#(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_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9161#(and (= main_~x~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 11:06:01,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {9161#(and (= main_~x~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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:06:01,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:06:03,101 WARN L290 TraceCheckUtils]: 37: Hoare triple {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9172#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) main_~yx~0))} is UNKNOWN [2022-04-28 11:06:03,104 INFO L272 TraceCheckUtils]: 38: Hoare triple {9172#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) 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)); {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:03,104 INFO L290 TraceCheckUtils]: 39: Hoare triple {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:03,104 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9048#false} is VALID [2022-04-28 11:06:03,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {9048#false} assume !false; {9048#false} is VALID [2022-04-28 11:06:03,105 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:06:03,105 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:07,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {9048#false} assume !false; {9048#false} is VALID [2022-04-28 11:06:07,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9048#false} is VALID [2022-04-28 11:06:07,384 INFO L290 TraceCheckUtils]: 39: Hoare triple {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:07,384 INFO L272 TraceCheckUtils]: 38: Hoare triple {9196#(= (+ (* 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)); {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:07,385 INFO L290 TraceCheckUtils]: 37: Hoare triple {9200#(= (+ (* 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 !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9196#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:07,386 INFO L290 TraceCheckUtils]: 36: Hoare triple {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9200#(= (+ (* 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 11:06:07,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {9207#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9200#(= (+ (* 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 11:06:07,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {9200#(= (+ (* 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; {9207#(= (+ (* (* 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 11:06:07,389 INFO L290 TraceCheckUtils]: 33: Hoare triple {9200#(= (+ (* 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); {9200#(= (+ (* 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 11:06:07,389 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} {9217#(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)))))} #58#return; {9200#(= (+ (* 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 11:06:07,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {9227#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,390 INFO L290 TraceCheckUtils]: 29: Hoare triple {9047#true} ~cond := #in~cond; {9227#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:07,390 INFO L272 TraceCheckUtils]: 28: Hoare triple {9217#(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)); {9047#true} is VALID [2022-04-28 11:06:07,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {9047#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9217#(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 11:06:07,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 11:06:07,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {9047#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9047#true} is VALID [2022-04-28 11:06:07,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {9047#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9047#true} is VALID [2022-04-28 11:06:07,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {9047#true} assume !!(~x~0 <= ~X~0); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9047#true} {9047#true} #58#return; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 21: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 19: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L272 TraceCheckUtils]: 18: Hoare triple {9047#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 17: Hoare triple {9047#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 16: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {9047#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {9047#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 13: Hoare triple {9047#true} assume !!(~x~0 <= ~X~0); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9047#true} {9047#true} #58#return; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L272 TraceCheckUtils]: 8: Hoare triple {9047#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {9047#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 6: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 11:06:07,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {9047#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {9047#true} call #t~ret9 := main(); {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9047#true} {9047#true} #62#return; {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {9047#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);~counter~0 := 0; {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {9047#true} call ULTIMATE.init(); {9047#true} is VALID [2022-04-28 11:06:07,393 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:06:07,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:07,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307045159] [2022-04-28 11:06:07,393 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:07,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1412363340] [2022-04-28 11:06:07,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1412363340] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:07,393 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:07,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 11:06:07,394 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:07,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [279608838] [2022-04-28 11:06:07,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [279608838] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:07,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:07,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:06:07,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1837499591] [2022-04-28 11:06:07,394 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:07,394 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 11:06:07,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:07,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:09,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:09,431 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:06:09,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:09,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:06:09,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-28 11:06:09,432 INFO L87 Difference]: Start difference. First operand 106 states and 117 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:26,814 WARN L232 SmtUtils]: Spent 15.62s on a formula simplification. DAG size of input: 48 DAG size of output: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 11:06:28,970 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 11:06:30,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:30,839 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-28 11:06:30,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:06:30,839 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 11:06:30,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:30,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:30,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:06:30,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:30,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:06:30,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:06:32,909 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 11:06:32,911 INFO L225 Difference]: With dead ends: 150 [2022-04-28 11:06:32,911 INFO L226 Difference]: Without dead ends: 148 [2022-04-28 11:06:32,911 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 16.7s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:06:32,912 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 20 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 359 mSolverCounterSat, 6 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 366 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 359 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:32,912 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 200 Invalid, 366 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 359 Invalid, 1 Unknown, 0 Unchecked, 3.7s Time] [2022-04-28 11:06:32,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-28 11:06:33,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-28 11:06:33,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:33,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:33,008 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:33,009 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:33,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:33,011 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-28 11:06:33,011 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-28 11:06:33,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:33,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:33,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-28 11:06:33,011 INFO L87 Difference]: Start difference. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-28 11:06:33,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:33,013 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-28 11:06:33,013 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-28 11:06:33,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:33,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:33,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:33,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:33,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:33,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-28 11:06:33,015 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-28 11:06:33,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:33,016 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-28 11:06:33,016 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:33,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-28 11:06:39,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 116 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:39,253 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-28 11:06:39,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 11:06:39,254 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:39,254 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:06:39,275 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:39,454 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 11:06:39,454 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:39,454 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:39,455 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-28 11:06:39,455 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:39,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1252398768] [2022-04-28 11:06:39,534 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:06:39,534 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:06:39,534 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-28 11:06:39,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:39,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6284049] [2022-04-28 11:06:39,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:39,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:39,542 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:39,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1110118456] [2022-04-28 11:06:39,542 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:06:39,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:39,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:39,543 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 11:06:39,544 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 11:06:39,583 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:06:39,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:39,584 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 11:06:39,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:39,593 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:39,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {10137#true} call ULTIMATE.init(); {10137#true} is VALID [2022-04-28 11:06:39,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {10137#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);~counter~0 := 0; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 11:06:39,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {10145#(<= ~counter~0 0)} assume true; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 11:06:39,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10145#(<= ~counter~0 0)} {10137#true} #62#return; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 11:06:39,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {10145#(<= ~counter~0 0)} call #t~ret9 := main(); {10145#(<= ~counter~0 0)} is VALID [2022-04-28 11:06:39,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {10145#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 11:06:39,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {10145#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {10161#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,873 INFO L272 TraceCheckUtils]: 8: Hoare triple {10161#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {10161#(<= ~counter~0 1)} ~cond := #in~cond; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {10161#(<= ~counter~0 1)} assume !(0 == ~cond); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {10161#(<= ~counter~0 1)} assume true; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,874 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10161#(<= ~counter~0 1)} {10161#(<= ~counter~0 1)} #58#return; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,874 INFO L290 TraceCheckUtils]: 13: Hoare triple {10161#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {10161#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {10161#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 11:06:39,875 INFO L290 TraceCheckUtils]: 16: Hoare triple {10161#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {10192#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,876 INFO L272 TraceCheckUtils]: 18: Hoare triple {10192#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {10192#(<= ~counter~0 2)} ~cond := #in~cond; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {10192#(<= ~counter~0 2)} assume !(0 == ~cond); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,877 INFO L290 TraceCheckUtils]: 21: Hoare triple {10192#(<= ~counter~0 2)} assume true; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,878 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10192#(<= ~counter~0 2)} {10192#(<= ~counter~0 2)} #58#return; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,878 INFO L290 TraceCheckUtils]: 23: Hoare triple {10192#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,878 INFO L290 TraceCheckUtils]: 24: Hoare triple {10192#(<= ~counter~0 2)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {10192#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 11:06:39,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {10192#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {10223#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,880 INFO L272 TraceCheckUtils]: 28: Hoare triple {10223#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {10223#(<= ~counter~0 3)} ~cond := #in~cond; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {10223#(<= ~counter~0 3)} assume !(0 == ~cond); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {10223#(<= ~counter~0 3)} assume true; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,881 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10223#(<= ~counter~0 3)} {10223#(<= ~counter~0 3)} #58#return; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,881 INFO L290 TraceCheckUtils]: 33: Hoare triple {10223#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {10223#(<= ~counter~0 3)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {10223#(<= ~counter~0 3)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 11:06:39,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {10223#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10254#(<= |main_#t~post6| 3)} is VALID [2022-04-28 11:06:39,883 INFO L290 TraceCheckUtils]: 37: Hoare triple {10254#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L290 TraceCheckUtils]: 38: Hoare triple {10138#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L272 TraceCheckUtils]: 39: Hoare triple {10138#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)); {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L290 TraceCheckUtils]: 40: Hoare triple {10138#false} ~cond := #in~cond; {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {10138#false} assume 0 == ~cond; {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {10138#false} assume !false; {10138#false} is VALID [2022-04-28 11:06:39,883 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 11:06:39,883 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:40,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {10138#false} assume !false; {10138#false} is VALID [2022-04-28 11:06:40,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {10138#false} assume 0 == ~cond; {10138#false} is VALID [2022-04-28 11:06:40,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {10138#false} ~cond := #in~cond; {10138#false} is VALID [2022-04-28 11:06:40,243 INFO L272 TraceCheckUtils]: 39: Hoare triple {10138#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)); {10138#false} is VALID [2022-04-28 11:06:40,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {10138#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10138#false} is VALID [2022-04-28 11:06:40,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {10288#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {10138#false} is VALID [2022-04-28 11:06:40,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {10292#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10288#(< |main_#t~post6| 20)} is VALID [2022-04-28 11:06:40,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {10292#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,245 INFO L290 TraceCheckUtils]: 34: Hoare triple {10292#(< ~counter~0 20)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,245 INFO L290 TraceCheckUtils]: 33: Hoare triple {10292#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,249 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10137#true} {10292#(< ~counter~0 20)} #58#return; {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 11:06:40,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 11:06:40,249 INFO L290 TraceCheckUtils]: 29: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 11:06:40,249 INFO L272 TraceCheckUtils]: 28: Hoare triple {10292#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 11:06:40,250 INFO L290 TraceCheckUtils]: 27: Hoare triple {10292#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,251 INFO L290 TraceCheckUtils]: 26: Hoare triple {10323#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10292#(< ~counter~0 20)} is VALID [2022-04-28 11:06:40,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {10323#(< ~counter~0 19)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {10323#(< ~counter~0 19)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {10323#(< ~counter~0 19)} assume !!(~x~0 <= ~X~0); {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,252 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10137#true} {10323#(< ~counter~0 19)} #58#return; {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 11:06:40,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 11:06:40,252 INFO L290 TraceCheckUtils]: 19: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 11:06:40,252 INFO L272 TraceCheckUtils]: 18: Hoare triple {10323#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 11:06:40,252 INFO L290 TraceCheckUtils]: 17: Hoare triple {10323#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,253 INFO L290 TraceCheckUtils]: 16: Hoare triple {10354#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10323#(< ~counter~0 19)} is VALID [2022-04-28 11:06:40,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {10354#(< ~counter~0 18)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {10354#(< ~counter~0 18)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {10354#(< ~counter~0 18)} assume !!(~x~0 <= ~X~0); {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,254 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10137#true} {10354#(< ~counter~0 18)} #58#return; {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 11:06:40,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 11:06:40,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 11:06:40,254 INFO L272 TraceCheckUtils]: 8: Hoare triple {10354#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 11:06:40,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {10354#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {10385#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10354#(< ~counter~0 18)} is VALID [2022-04-28 11:06:40,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {10385#(< ~counter~0 17)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10385#(< ~counter~0 17)} is VALID [2022-04-28 11:06:40,256 INFO L272 TraceCheckUtils]: 4: Hoare triple {10385#(< ~counter~0 17)} call #t~ret9 := main(); {10385#(< ~counter~0 17)} is VALID [2022-04-28 11:06:40,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10385#(< ~counter~0 17)} {10137#true} #62#return; {10385#(< ~counter~0 17)} is VALID [2022-04-28 11:06:40,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {10385#(< ~counter~0 17)} assume true; {10385#(< ~counter~0 17)} is VALID [2022-04-28 11:06:40,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {10137#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);~counter~0 := 0; {10385#(< ~counter~0 17)} is VALID [2022-04-28 11:06:40,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {10137#true} call ULTIMATE.init(); {10137#true} is VALID [2022-04-28 11:06:40,258 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 11:06:40,258 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:40,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [6284049] [2022-04-28 11:06:40,258 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:40,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1110118456] [2022-04-28 11:06:40,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1110118456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:40,259 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:40,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 11:06:40,259 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:40,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1252398768] [2022-04-28 11:06:40,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1252398768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:40,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:40,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 11:06:40,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [723931123] [2022-04-28 11:06:40,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:40,259 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-28 11:06:40,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:40,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:40,297 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 11:06:40,297 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 11:06:40,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:40,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 11:06:40,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:06:40,298 INFO L87 Difference]: Start difference. First operand 107 states and 119 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:40,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:40,710 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-28 11:06:40,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 11:06:40,711 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-28 11:06:40,711 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:40,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:40,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 11:06:40,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:40,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 11:06:40,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-28 11:06:40,791 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 11:06:40,792 INFO L225 Difference]: With dead ends: 131 [2022-04-28 11:06:40,792 INFO L226 Difference]: Without dead ends: 123 [2022-04-28 11:06:40,794 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 11:06:40,794 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 10 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:40,794 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 92 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:06:40,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-28 11:06:40,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-28 11:06:40,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:40,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:06:40,920 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:06:40,921 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:06:40,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:40,924 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-28 11:06:40,924 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-28 11:06:40,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:40,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:40,924 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-28 11:06:40,924 INFO L87 Difference]: Start difference. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-28 11:06:40,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:40,926 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-28 11:06:40,926 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-28 11:06:40,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:40,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:40,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:40,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:40,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:06:40,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-28 11:06:40,928 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-28 11:06:40,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:40,928 INFO L495 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-28 11:06:40,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:06:40,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-28 11:06:51,212 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 127 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:51,212 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-28 11:06:51,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 11:06:51,213 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:51,213 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:06:51,229 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 11:06:51,413 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 11:06:51,413 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:51,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:51,413 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-28 11:06:51,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:51,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [795616878] [2022-04-28 11:06:51,496 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:06:51,496 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:06:51,496 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-28 11:06:51,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:51,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [326079190] [2022-04-28 11:06:51,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:51,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:51,504 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:51,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1007169477] [2022-04-28 11:06:51,504 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:06:51,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:51,505 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:51,505 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 11:06:51,506 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 11:06:51,545 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:06:51,545 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:51,546 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 11:06:51,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:51,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:53,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {11160#true} call ULTIMATE.init(); {11160#true} is VALID [2022-04-28 11:06:53,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {11160#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);~counter~0 := 0; {11160#true} is VALID [2022-04-28 11:06:53,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:53,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11160#true} {11160#true} #62#return; {11160#true} is VALID [2022-04-28 11:06:53,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {11160#true} call #t~ret9 := main(); {11160#true} is VALID [2022-04-28 11:06:53,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {11160#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:53,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:53,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:53,427 INFO L272 TraceCheckUtils]: 8: Hoare triple {11180#(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)); {11160#true} is VALID [2022-04-28 11:06:53,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:53,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:53,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:53,428 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11160#true} {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:53,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:53,429 INFO L290 TraceCheckUtils]: 14: Hoare triple {11180#(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; {11208#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-28 11:06:53,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {11208#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:06:53,430 INFO L290 TraceCheckUtils]: 16: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:06:53,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:06:53,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~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)); {11160#true} is VALID [2022-04-28 11:06:53,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:53,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:53,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:53,431 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11160#true} {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #58#return; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:06:53,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:06:53,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11240#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-28 11:06:53,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {11240#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,434 INFO L290 TraceCheckUtils]: 26: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,434 INFO L290 TraceCheckUtils]: 27: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,434 INFO L272 TraceCheckUtils]: 28: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 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)); {11160#true} is VALID [2022-04-28 11:06:53,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:53,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:53,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:53,435 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11160#true} {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #58#return; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,436 INFO L290 TraceCheckUtils]: 34: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11272#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 11:06:53,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {11272#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:06:53,437 INFO L290 TraceCheckUtils]: 36: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:06:53,437 INFO L290 TraceCheckUtils]: 37: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:06:53,437 INFO L272 TraceCheckUtils]: 38: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11160#true} is VALID [2022-04-28 11:06:53,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:53,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:53,438 INFO L290 TraceCheckUtils]: 41: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:53,438 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11160#true} {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #58#return; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:06:53,439 INFO L290 TraceCheckUtils]: 43: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L290 TraceCheckUtils]: 44: Hoare triple {11161#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L272 TraceCheckUtils]: 45: Hoare triple {11161#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)); {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L290 TraceCheckUtils]: 46: Hoare triple {11161#false} ~cond := #in~cond; {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L290 TraceCheckUtils]: 47: Hoare triple {11161#false} assume 0 == ~cond; {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L290 TraceCheckUtils]: 48: Hoare triple {11161#false} assume !false; {11161#false} is VALID [2022-04-28 11:06:53,439 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 11:06:53,439 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:54,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {11161#false} assume !false; {11161#false} is VALID [2022-04-28 11:06:54,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {11161#false} assume 0 == ~cond; {11161#false} is VALID [2022-04-28 11:06:54,164 INFO L290 TraceCheckUtils]: 46: Hoare triple {11161#false} ~cond := #in~cond; {11161#false} is VALID [2022-04-28 11:06:54,164 INFO L272 TraceCheckUtils]: 45: Hoare triple {11161#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)); {11161#false} is VALID [2022-04-28 11:06:54,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {11161#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11161#false} is VALID [2022-04-28 11:06:54,164 INFO L290 TraceCheckUtils]: 43: Hoare triple {11331#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11161#false} is VALID [2022-04-28 11:06:54,165 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11160#true} {11331#(<= main_~x~0 main_~X~0)} #58#return; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:54,165 INFO L290 TraceCheckUtils]: 41: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:54,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:54,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:54,165 INFO L272 TraceCheckUtils]: 38: Hoare triple {11331#(<= 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)); {11160#true} is VALID [2022-04-28 11:06:54,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {11331#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:54,166 INFO L290 TraceCheckUtils]: 36: Hoare triple {11331#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:54,167 INFO L290 TraceCheckUtils]: 35: Hoare triple {11356#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:54,167 INFO L290 TraceCheckUtils]: 34: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11356#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:06:54,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:54,168 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11160#true} {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:54,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:54,168 INFO L290 TraceCheckUtils]: 30: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:54,168 INFO L290 TraceCheckUtils]: 29: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:54,168 INFO L272 TraceCheckUtils]: 28: Hoare triple {11360#(or (< 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)); {11160#true} is VALID [2022-04-28 11:06:54,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:54,169 INFO L290 TraceCheckUtils]: 26: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:54,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {11388#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:54,170 INFO L290 TraceCheckUtils]: 24: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11388#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:06:54,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:54,171 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11160#true} {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #58#return; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:54,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:54,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:54,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:54,171 INFO L272 TraceCheckUtils]: 18: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< 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)); {11160#true} is VALID [2022-04-28 11:06:54,172 INFO L290 TraceCheckUtils]: 17: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:54,172 INFO L290 TraceCheckUtils]: 16: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:54,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {11420#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:54,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11420#(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 11:06:54,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:06:54,174 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11160#true} {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #58#return; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:06:54,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:54,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 11:06:54,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 11:06:54,175 INFO L272 TraceCheckUtils]: 8: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~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)); {11160#true} is VALID [2022-04-28 11:06:54,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:06:54,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:06:54,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {11160#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:06:54,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {11160#true} call #t~ret9 := main(); {11160#true} is VALID [2022-04-28 11:06:54,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11160#true} {11160#true} #62#return; {11160#true} is VALID [2022-04-28 11:06:54,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 11:06:54,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {11160#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);~counter~0 := 0; {11160#true} is VALID [2022-04-28 11:06:54,177 INFO L272 TraceCheckUtils]: 0: Hoare triple {11160#true} call ULTIMATE.init(); {11160#true} is VALID [2022-04-28 11:06:54,177 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 11:06:54,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:54,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [326079190] [2022-04-28 11:06:54,177 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:54,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1007169477] [2022-04-28 11:06:54,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1007169477] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:54,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:54,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 11:06:54,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:54,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [795616878] [2022-04-28 11:06:54,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [795616878] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:54,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:54,178 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:06:54,178 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525118494] [2022-04-28 11:06:54,178 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:54,178 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 11:06:54,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:54,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:06:54,212 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 11:06:54,212 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:06:54,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:54,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:06:54,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 11:06:54,213 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:06:55,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:55,685 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-28 11:06:55,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:06:55,685 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 11:06:55,685 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:55,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:06:55,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 11:06:55,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:06:55,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 11:06:55,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-28 11:06:55,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:55,738 INFO L225 Difference]: With dead ends: 136 [2022-04-28 11:06:55,738 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 11:06:55,738 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 11:06:55,739 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 3 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 215 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:55,739 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 138 Invalid, 215 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:06:55,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 11:06:55,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-28 11:06:55,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:55,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:06:55,885 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:06:55,885 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:06:55,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:55,887 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 11:06:55,887 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 11:06:55,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:55,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:55,887 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-28 11:06:55,888 INFO L87 Difference]: Start difference. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-28 11:06:55,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:55,889 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 11:06:55,889 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 11:06:55,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:55,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:55,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:55,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:55,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:06:55,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-28 11:06:55,891 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-28 11:06:55,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:55,891 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-28 11:06:55,892 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:06:55,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-28 11:07:08,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 132 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:08,194 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-28 11:07:08,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 11:07:08,194 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:08,194 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:07:08,210 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-28 11:07:08,395 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 11:07:08,395 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:08,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:08,395 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-28 11:07:08,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:08,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [164072992] [2022-04-28 11:07:08,489 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:07:08,489 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:07:08,489 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-28 11:07:08,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:08,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1549974656] [2022-04-28 11:07:08,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:08,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:08,497 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:08,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1835441145] [2022-04-28 11:07:08,497 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:07:08,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:08,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:08,498 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 11:07:08,499 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 11:07:08,544 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:07:08,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:08,545 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 11:07:08,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:08,554 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:11,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {12247#true} call ULTIMATE.init(); {12247#true} is VALID [2022-04-28 11:07:11,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {12247#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);~counter~0 := 0; {12247#true} is VALID [2022-04-28 11:07:11,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12247#true} {12247#true} #62#return; {12247#true} is VALID [2022-04-28 11:07:11,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {12247#true} call #t~ret9 := main(); {12247#true} is VALID [2022-04-28 11:07:11,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {12247#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:11,009 INFO L290 TraceCheckUtils]: 6: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:11,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:11,010 INFO L272 TraceCheckUtils]: 8: Hoare triple {12267#(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)); {12247#true} is VALID [2022-04-28 11:07:11,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,010 INFO L290 TraceCheckUtils]: 10: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,011 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12247#true} {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:11,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:11,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {12267#(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; {12295#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} is VALID [2022-04-28 11:07:11,013 INFO L290 TraceCheckUtils]: 15: Hoare triple {12295#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 11:07:11,013 INFO L290 TraceCheckUtils]: 16: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 11:07:11,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 11:07:11,014 INFO L272 TraceCheckUtils]: 18: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= 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)); {12247#true} is VALID [2022-04-28 11:07:11,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,014 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12247#true} {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #58#return; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 11:07:11,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 11:07:11,016 INFO L290 TraceCheckUtils]: 24: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12327#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {12327#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (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)); {12247#true} is VALID [2022-04-28 11:07:11,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,018 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12247#true} {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,018 INFO L290 TraceCheckUtils]: 34: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,020 INFO L272 TraceCheckUtils]: 38: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (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)); {12247#true} is VALID [2022-04-28 11:07:11,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,020 INFO L290 TraceCheckUtils]: 40: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,020 INFO L290 TraceCheckUtils]: 41: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,020 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12247#true} {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:11,021 INFO L290 TraceCheckUtils]: 43: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~x~0 <= ~X~0); {12248#false} is VALID [2022-04-28 11:07:11,021 INFO L290 TraceCheckUtils]: 44: Hoare triple {12248#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12248#false} is VALID [2022-04-28 11:07:11,021 INFO L272 TraceCheckUtils]: 45: Hoare triple {12248#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)); {12248#false} is VALID [2022-04-28 11:07:11,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {12248#false} ~cond := #in~cond; {12248#false} is VALID [2022-04-28 11:07:11,021 INFO L290 TraceCheckUtils]: 47: Hoare triple {12248#false} assume 0 == ~cond; {12248#false} is VALID [2022-04-28 11:07:11,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {12248#false} assume !false; {12248#false} is VALID [2022-04-28 11:07:11,022 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 11:07:11,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:11,586 INFO L290 TraceCheckUtils]: 48: Hoare triple {12248#false} assume !false; {12248#false} is VALID [2022-04-28 11:07:11,586 INFO L290 TraceCheckUtils]: 47: Hoare triple {12248#false} assume 0 == ~cond; {12248#false} is VALID [2022-04-28 11:07:11,586 INFO L290 TraceCheckUtils]: 46: Hoare triple {12248#false} ~cond := #in~cond; {12248#false} is VALID [2022-04-28 11:07:11,586 INFO L272 TraceCheckUtils]: 45: Hoare triple {12248#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)); {12248#false} is VALID [2022-04-28 11:07:11,586 INFO L290 TraceCheckUtils]: 44: Hoare triple {12248#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12248#false} is VALID [2022-04-28 11:07:11,587 INFO L290 TraceCheckUtils]: 43: Hoare triple {12417#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12248#false} is VALID [2022-04-28 11:07:11,587 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12247#true} {12417#(<= main_~x~0 main_~X~0)} #58#return; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:11,587 INFO L290 TraceCheckUtils]: 41: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,587 INFO L290 TraceCheckUtils]: 40: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,587 INFO L290 TraceCheckUtils]: 39: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,587 INFO L272 TraceCheckUtils]: 38: Hoare triple {12417#(<= 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)); {12247#true} is VALID [2022-04-28 11:07:11,588 INFO L290 TraceCheckUtils]: 37: Hoare triple {12417#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:11,588 INFO L290 TraceCheckUtils]: 36: Hoare triple {12417#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:11,589 INFO L290 TraceCheckUtils]: 35: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:11,589 INFO L290 TraceCheckUtils]: 34: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,590 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12247#true} {12442#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,590 INFO L272 TraceCheckUtils]: 28: Hoare triple {12442#(<= (+ 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)); {12247#true} is VALID [2022-04-28 11:07:11,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,590 INFO L290 TraceCheckUtils]: 26: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,591 INFO L290 TraceCheckUtils]: 25: Hoare triple {12473#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:11,591 INFO L290 TraceCheckUtils]: 24: Hoare triple {12477#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12473#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-28 11:07:11,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:11,592 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12247#true} {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:11,592 INFO L290 TraceCheckUtils]: 21: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,592 INFO L272 TraceCheckUtils]: 18: Hoare triple {12477#(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)); {12247#true} is VALID [2022-04-28 11:07:11,593 INFO L290 TraceCheckUtils]: 17: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:11,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:11,594 INFO L290 TraceCheckUtils]: 15: Hoare triple {12505#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:11,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {12509#(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; {12505#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:07:11,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {12509#(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); {12509#(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 11:07:11,595 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12247#true} {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {12509#(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 11:07:11,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 11:07:11,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 11:07:11,595 INFO L272 TraceCheckUtils]: 8: Hoare triple {12509#(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)); {12247#true} is VALID [2022-04-28 11:07:11,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12509#(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 11:07:11,596 INFO L290 TraceCheckUtils]: 6: Hoare triple {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12509#(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 11:07:11,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {12247#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12509#(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 11:07:11,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {12247#true} call #t~ret9 := main(); {12247#true} is VALID [2022-04-28 11:07:11,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12247#true} {12247#true} #62#return; {12247#true} is VALID [2022-04-28 11:07:11,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 11:07:11,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {12247#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);~counter~0 := 0; {12247#true} is VALID [2022-04-28 11:07:11,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {12247#true} call ULTIMATE.init(); {12247#true} is VALID [2022-04-28 11:07:11,598 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 11:07:11,598 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:11,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1549974656] [2022-04-28 11:07:11,598 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:11,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1835441145] [2022-04-28 11:07:11,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1835441145] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:11,598 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:11,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 11:07:11,599 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:11,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [164072992] [2022-04-28 11:07:11,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [164072992] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:11,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:11,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:07:11,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1073154595] [2022-04-28 11:07:11,599 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:11,599 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 11:07:11,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:11,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:11,633 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 11:07:11,633 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:07:11,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:11,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:07:11,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:07:11,633 INFO L87 Difference]: Start difference. First operand 125 states and 138 transitions. Second operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:12,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:12,902 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-28 11:07:12,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:07:12,902 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 11:07:12,902 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:12,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:12,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 11:07:12,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:12,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 11:07:12,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 11:07:12,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:12,993 INFO L225 Difference]: With dead ends: 138 [2022-04-28 11:07:12,993 INFO L226 Difference]: Without dead ends: 130 [2022-04-28 11:07:12,993 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:07:12,993 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:12,993 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 126 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:07:12,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-28 11:07:13,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-28 11:07:13,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:13,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:13,139 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:13,139 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:13,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:13,141 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-28 11:07:13,141 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-28 11:07:13,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:13,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:13,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-28 11:07:13,141 INFO L87 Difference]: Start difference. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-28 11:07:13,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:13,143 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-28 11:07:13,143 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-28 11:07:13,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:13,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:13,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:13,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:13,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:13,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-28 11:07:13,145 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-28 11:07:13,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:13,145 INFO L495 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-28 11:07:13,145 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:13,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-28 11:07:23,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 130 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:23,463 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-28 11:07:23,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 11:07:23,464 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:23,464 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:07:23,479 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 11:07:23,664 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 11:07:23,664 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:23,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:23,665 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-28 11:07:23,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:23,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2031211638] [2022-04-28 11:07:23,749 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:07:23,749 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:07:23,749 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-28 11:07:23,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:23,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [223603144] [2022-04-28 11:07:23,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:23,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:23,757 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:23,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1705030386] [2022-04-28 11:07:23,758 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:07:23,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:23,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:23,761 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 11:07:23,763 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 11:07:23,831 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:07:23,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:23,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 11:07:23,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:23,843 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:37,329 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:07:46,513 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:07:52,538 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:05,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {13334#true} call ULTIMATE.init(); {13334#true} is VALID [2022-04-28 11:08:05,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {13334#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);~counter~0 := 0; {13334#true} is VALID [2022-04-28 11:08:05,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 11:08:05,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13334#true} {13334#true} #62#return; {13334#true} is VALID [2022-04-28 11:08:05,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {13334#true} call #t~ret9 := main(); {13334#true} is VALID [2022-04-28 11:08:05,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {13334#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:05,019 INFO L290 TraceCheckUtils]: 6: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:05,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:05,020 INFO L272 TraceCheckUtils]: 8: Hoare triple {13354#(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)); {13334#true} is VALID [2022-04-28 11:08:05,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 11:08:05,020 INFO L290 TraceCheckUtils]: 10: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 11:08:05,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 11:08:05,020 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13334#true} {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} #58#return; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:05,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13379#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:05,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {13379#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,023 INFO L290 TraceCheckUtils]: 16: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,023 INFO L272 TraceCheckUtils]: 18: Hoare triple {13383#(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)); {13334#true} is VALID [2022-04-28 11:08:05,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 11:08:05,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 11:08:05,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 11:08:05,024 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13334#true} {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,024 INFO L290 TraceCheckUtils]: 24: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,025 INFO L290 TraceCheckUtils]: 26: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,026 INFO L272 TraceCheckUtils]: 28: Hoare triple {13383#(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)); {13334#true} is VALID [2022-04-28 11:08:05,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 11:08:05,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 11:08:05,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 11:08:05,026 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13334#true} {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,027 INFO L290 TraceCheckUtils]: 33: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13441#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {13441#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13445#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:05,028 INFO L290 TraceCheckUtils]: 35: Hoare triple {13445#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:08:05,028 INFO L290 TraceCheckUtils]: 36: Hoare triple {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:08:05,029 INFO L290 TraceCheckUtils]: 37: Hoare triple {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13456#(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 11:08:05,029 INFO L272 TraceCheckUtils]: 38: Hoare triple {13456#(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)); {13334#true} is VALID [2022-04-28 11:08:05,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {13334#true} ~cond := #in~cond; {13463#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:05,029 INFO L290 TraceCheckUtils]: 40: Hoare triple {13463#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:05,029 INFO L290 TraceCheckUtils]: 41: Hoare triple {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:05,031 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} {13456#(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)))} #58#return; {13474#(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 11:08:05,031 INFO L290 TraceCheckUtils]: 43: Hoare triple {13474#(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); {13478#(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 11:08:07,034 WARN L290 TraceCheckUtils]: 44: Hoare triple {13478#(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; {13482#(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 11:08:07,037 INFO L272 TraceCheckUtils]: 45: Hoare triple {13482#(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)); {13486#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:08:07,038 INFO L290 TraceCheckUtils]: 46: Hoare triple {13486#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13490#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:07,038 INFO L290 TraceCheckUtils]: 47: Hoare triple {13490#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13335#false} is VALID [2022-04-28 11:08:07,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {13335#false} assume !false; {13335#false} is VALID [2022-04-28 11:08:07,038 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 17 proven. 25 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 11:08:07,038 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:08:09,484 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:12:24,402 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((aux_div_main_~v~0_57 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 Int) (aux_div_aux_mod_main_~v~0_57_59 Int) (aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (let ((.cse0 (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 1)) (.cse2 (* c_main_~X~0 c_main_~y~0)) (.cse1 (* (- 1) c_main_~Y~0))) (or (<= .cse0 aux_div_main_~v~0_57) (< (+ c_main_~X~0 1) (div (+ aux_div_aux_mod_main_~v~0_57_59 .cse1 c_main_~X~0 .cse2) c_main_~Y~0)) (let ((.cse3 (div (+ .cse1 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 c_main_~X~0 .cse2) c_main_~Y~0))) (<= (+ .cse3 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 (* .cse3 c_main_~y~0)) (+ c_main_~Y~0 (* c_main_~Y~0 .cse3) c_main_~y~0 1))) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (<= .cse0 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103) (<= (div (+ .cse1 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 c_main_~X~0 .cse2) c_main_~Y~0) c_main_~X~0) (<= (+ aux_div_main_~v~0_57 1) aux_div_aux_mod_main_~v~0_57_59) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (not (= (mod (+ .cse1 (* c_main_~X~0 (+ c_main_~y~0 1)) aux_div_main_~v~0_57) c_main_~Y~0) 0))))) (= c_main_~Y~0 0)) is different from true [2022-04-28 11:13:15,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:15,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [223603144] [2022-04-28 11:13:15,929 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:15,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1705030386] [2022-04-28 11:13:15,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1705030386] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 11:13:15,929 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 11:13:15,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 11:13:15,929 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:15,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2031211638] [2022-04-28 11:13:15,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2031211638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:15,929 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:15,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:13:15,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [433079229] [2022-04-28 11:13:15,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:15,930 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 49 [2022-04-28 11:13:15,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:15,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:13:17,898 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 11:13:17,898 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:13:17,898 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:17,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:13:17,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=462, Unknown=7, NotChecked=44, Total=600 [2022-04-28 11:13:17,899 INFO L87 Difference]: Start difference. First operand 122 states and 135 transitions. Second operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:13:27,119 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.30s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:13:33,406 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 11:13:40,944 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 11:13:48,497 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:13:50,500 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 11:13:52,504 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 11:13:56,520 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 11:13:58,524 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 11:14:02,137 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:14:04,139 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 11:14:06,144 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 11:14:13,329 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 11:14:13,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:13,700 INFO L93 Difference]: Finished difference Result 148 states and 165 transitions. [2022-04-28 11:14:13,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:14:13,700 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 49 [2022-04-28 11:14:13,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:14:13,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:14:13,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 11:14:13,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:14:13,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 11:14:13,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-28 11:14:17,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 67 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:17,778 INFO L225 Difference]: With dead ends: 148 [2022-04-28 11:14:17,778 INFO L226 Difference]: Without dead ends: 140 [2022-04-28 11:14:17,779 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 41 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 159 ImplicationChecksByTransitivity, 39.4s TimeCoverageRelationStatistics Valid=157, Invalid=830, Unknown=9, NotChecked=60, Total=1056 [2022-04-28 11:14:17,779 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 26 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 416 mSolverCounterSat, 9 mSolverCounterUnsat, 9 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 24.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 434 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 416 IncrementalHoareTripleChecker+Invalid, 9 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 24.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:14:17,779 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 210 Invalid, 434 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 416 Invalid, 9 Unknown, 0 Unchecked, 24.5s Time] [2022-04-28 11:14:17,779 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-28 11:14:17,983 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 132. [2022-04-28 11:14:17,983 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:14:17,983 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 11:14:17,983 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 11:14:17,984 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 11:14:17,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:17,985 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-28 11:14:17,985 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-28 11:14:17,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:17,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:17,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 140 states. [2022-04-28 11:14:17,986 INFO L87 Difference]: Start difference. First operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 140 states. [2022-04-28 11:14:17,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:17,988 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-28 11:14:17,988 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-28 11:14:17,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:17,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:17,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:14:17,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:14:17,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 102 states have (on average 1.1470588235294117) internal successors, (117), 105 states have internal predecessors, (117), 17 states have call successors, (17), 13 states have call predecessors, (17), 12 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 11:14:17,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 149 transitions. [2022-04-28 11:14:17,990 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 149 transitions. Word has length 49 [2022-04-28 11:14:17,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:14:17,990 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 149 transitions. [2022-04-28 11:14:17,990 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:14:17,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 149 transitions. [2022-04-28 11:14:26,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 145 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:26,383 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:14:26,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 11:14:26,383 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:14:26,383 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:14:26,399 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 11:14:26,584 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 11:14:26,584 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:14:26,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:14:26,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1387467270, now seen corresponding path program 5 times [2022-04-28 11:14:26,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:26,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1585020065] [2022-04-28 11:14:26,621 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 11:14:26,621 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 11:14:26,621 INFO L85 PathProgramCache]: Analyzing trace with hash -1387467270, now seen corresponding path program 6 times [2022-04-28 11:14:26,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:14:26,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1071037051] [2022-04-28 11:14:26,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:14:26,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:14:26,628 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:14:26,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [15158549] [2022-04-28 11:14:26,629 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:14:26,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:26,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:14:26,630 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 11:14:26,630 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 11:14:27,032 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:14:27,032 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:14:27,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 11:14:27,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:14:27,049 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:40,389 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:49,914 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:55,939 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:15:06,179 WARN L833 $PredicateComparison]: unable to prove that (and (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0)) is different from false