/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:33:05,695 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:33:05,697 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:33:05,731 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:33:05,731 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:33:05,732 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:33:05,734 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:33:05,736 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:33:05,738 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:33:05,741 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:33:05,742 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:33:05,743 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:33:05,743 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:33:05,745 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:33:05,745 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:33:05,747 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:33:05,748 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:33:05,748 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:33:05,750 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:33:05,756 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:33:05,757 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:33:05,758 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:33:05,758 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:33:05,759 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:33:05,760 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:33:05,765 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:33:05,766 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:33:05,766 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:33:05,766 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:33:05,767 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:33:05,768 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:33:05,768 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:33:05,769 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:33:05,769 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:33:05,770 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:33:05,770 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:33:05,770 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:33:05,771 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:33:05,771 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:33:05,771 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:33:05,772 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:33:05,773 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:33:05,773 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 07:33:05,782 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:33:05,783 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:33:05,783 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:33:05,784 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:33:05,785 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:33:05,785 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:33:05,786 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:33:05,786 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:33:05,786 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-15 07:33:05,983 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:33:06,005 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:33:06,007 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:33:06,008 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:33:06,008 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:33:06,009 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound50.c [2022-04-15 07:33:06,051 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dafa1f811/d97e3e38b7a449fb832fd4e1f1a57036/FLAGe6ea1e5c3 [2022-04-15 07:33:06,418 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:33:06,418 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound50.c [2022-04-15 07:33:06,424 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dafa1f811/d97e3e38b7a449fb832fd4e1f1a57036/FLAGe6ea1e5c3 [2022-04-15 07:33:06,437 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dafa1f811/d97e3e38b7a449fb832fd4e1f1a57036 [2022-04-15 07:33:06,438 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:33:06,439 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:33:06,442 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:33:06,442 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:33:06,445 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:33:06,446 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,446 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6bff7e7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06, skipping insertion in model container [2022-04-15 07:33:06,447 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,451 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:33:06,462 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:33:06,606 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_unwindbound50.c[597,610] [2022-04-15 07:33:06,633 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:33:06,642 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:33:06,658 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_unwindbound50.c[597,610] [2022-04-15 07:33:06,676 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:33:06,684 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:33:06,685 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06 WrapperNode [2022-04-15 07:33:06,685 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:33:06,685 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:33:06,685 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:33:06,686 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:33:06,693 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,693 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,699 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,699 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,710 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,715 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,718 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,720 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:33:06,721 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:33:06,721 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:33:06,721 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:33:06,722 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (1/1) ... [2022-04-15 07:33:06,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:33:06,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:06,744 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-15 07:33:06,772 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-15 07:33:06,786 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:33:06,786 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:33:06,786 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:33:06,786 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:33:06,786 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:33:06,787 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:33:06,787 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:33:06,788 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:33:06,788 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:33:06,827 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:33:06,829 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:33:07,031 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:33:07,035 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:33:07,035 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:33:07,036 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:33:07 BoogieIcfgContainer [2022-04-15 07:33:07,037 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:33:07,038 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:33:07,038 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:33:07,040 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:33:07,040 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:33:06" (1/3) ... [2022-04-15 07:33:07,041 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f7c98ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:33:07, skipping insertion in model container [2022-04-15 07:33:07,041 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:33:06" (2/3) ... [2022-04-15 07:33:07,041 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f7c98ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:33:07, skipping insertion in model container [2022-04-15 07:33:07,041 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:33:07" (3/3) ... [2022-04-15 07:33:07,042 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound50.c [2022-04-15 07:33:07,045 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:33:07,045 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:33:07,102 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:33:07,107 INFO L340 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 [2022-04-15 07:33:07,107 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:33:07,135 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-15 07:33:07,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:33:07,139 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:07,140 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:07,141 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:07,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:07,148 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-15 07:33:07,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:07,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1377955033] [2022-04-15 07:33:07,163 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:33:07,163 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-15 07:33:07,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:07,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558284358] [2022-04-15 07:33:07,167 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:07,167 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:07,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:07,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:33:07,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:07,310 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-15 07:33:07,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:33:07,310 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:33:07,312 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-15 07:33:07,312 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-15 07:33:07,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:33:07,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:33:07,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-15 07:33:07,313 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-15 07:33:07,314 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-15 07:33:07,315 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-15 07:33:07,315 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-15 07:33:07,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-15 07:33:07,315 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-15 07:33:07,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-15 07:33:07,316 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-15 07:33:07,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:07,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558284358] [2022-04-15 07:33:07,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [558284358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:07,317 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:07,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:33:07,318 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:07,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1377955033] [2022-04-15 07:33:07,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1377955033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:07,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:07,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:33:07,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1378110332] [2022-04-15 07:33:07,320 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:07,323 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-15 07:33:07,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:07,326 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-15 07:33:07,359 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-15 07:33:07,359 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:33:07,359 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:07,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:33:07,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:33:07,374 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-15 07:33:07,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:07,493 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-15 07:33:07,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:33:07,494 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-15 07:33:07,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:07,495 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-15 07:33:07,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:33:07,505 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-15 07:33:07,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:33:07,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-15 07:33:07,564 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-15 07:33:07,569 INFO L225 Difference]: With dead ends: 45 [2022-04-15 07:33:07,569 INFO L226 Difference]: Without dead ends: 21 [2022-04-15 07:33:07,571 INFO L912 BasicCegarLoop]: 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-15 07:33:07,573 INFO L913 BasicCegarLoop]: 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-15 07:33:07,574 INFO L914 BasicCegarLoop]: 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-15 07:33:07,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-15 07:33:07,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-15 07:33:07,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:07,607 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-15 07:33:07,607 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-15 07:33:07,607 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-15 07:33:07,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:07,610 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:33:07,610 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:33:07,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:07,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:07,610 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-15 07:33:07,611 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-15 07:33:07,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:07,612 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:33:07,612 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:33:07,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:07,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:07,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:07,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:07,613 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-15 07:33:07,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-15 07:33:07,616 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-15 07:33:07,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:07,616 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-15 07:33:07,617 INFO L479 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-15 07:33:07,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-15 07:33:07,644 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-15 07:33:07,644 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-15 07:33:07,645 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:33:07,645 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:07,645 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:07,645 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:33:07,645 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:07,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:07,646 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-15 07:33:07,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:07,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1726549347] [2022-04-15 07:33:07,647 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:33:07,647 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-15 07:33:07,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:07,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [204591027] [2022-04-15 07:33:07,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:07,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:07,667 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:07,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [124353483] [2022-04-15 07:33:07,668 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:07,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:07,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:07,675 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-15 07:33:07,676 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-15 07:33:07,712 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:33:07,713 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:07,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:33:07,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:07,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:07,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-15 07:33:07,937 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-15 07:33:07,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-15 07:33:07,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-15 07:33:07,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-15 07:33:07,939 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-15 07:33:07,940 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-15 07:33:07,941 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 < 50);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-15 07:33:07,942 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-15 07:33:07,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:07,943 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-15 07:33:07,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-15 07:33:07,943 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-15 07:33:07,943 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:33:07,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:07,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [204591027] [2022-04-15 07:33:07,944 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:07,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [124353483] [2022-04-15 07:33:07,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [124353483] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:07,945 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:07,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:33:07,946 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:07,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1726549347] [2022-04-15 07:33:07,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1726549347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:07,946 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:07,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:33:07,946 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1985753274] [2022-04-15 07:33:07,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:07,947 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-15 07:33:07,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:07,949 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-15 07:33:07,959 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-15 07:33:07,959 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:33:07,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:07,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:33:07,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:33:07,960 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-15 07:33:08,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:08,132 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-15 07:33:08,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:33:08,132 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-15 07:33:08,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:08,132 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-15 07:33:08,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:33:08,134 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-15 07:33:08,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:33:08,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-15 07:33:08,164 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-15 07:33:08,166 INFO L225 Difference]: With dead ends: 34 [2022-04-15 07:33:08,166 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 07:33:08,166 INFO L912 BasicCegarLoop]: 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-15 07:33:08,167 INFO L913 BasicCegarLoop]: 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-15 07:33:08,167 INFO L914 BasicCegarLoop]: 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-15 07:33:08,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 07:33:08,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-15 07:33:08,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:08,179 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-15 07:33:08,180 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-15 07:33:08,180 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-15 07:33:08,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:08,181 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:33:08,181 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:33:08,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:08,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:08,182 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-15 07:33:08,182 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-15 07:33:08,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:08,184 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:33:08,184 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:33:08,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:08,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:08,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:08,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:08,185 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-15 07:33:08,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-15 07:33:08,186 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-15 07:33:08,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:08,186 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-15 07:33:08,186 INFO L479 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-15 07:33:08,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-15 07:33:08,210 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-15 07:33:08,210 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-15 07:33:08,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:33:08,211 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:08,211 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:08,232 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-15 07:33:08,427 WARN L460 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-15 07:33:08,427 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:08,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:08,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-15 07:33:08,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:08,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [359397140] [2022-04-15 07:33:08,526 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:08,526 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:08,526 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:08,526 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-15 07:33:08,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:08,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [607805980] [2022-04-15 07:33:08,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:08,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:08,551 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:08,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1778303130] [2022-04-15 07:33:08,552 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:08,552 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:08,552 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:08,555 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-15 07:33:08,556 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-15 07:33:08,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:08,593 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:08,594 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 07:33:08,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:08,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:08,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:33:08,789 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-15 07:33:08,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:33:08,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:33:08,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:33:08,791 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-15 07:33:08,791 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-15 07:33:08,792 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 < 50);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-15 07:33:08,792 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-15 07:33:08,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:33:08,793 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:33:08,793 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:33:08,794 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-15 07:33:08,795 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-15 07:33:08,795 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-15 07:33:08,796 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-15 07:33:08,797 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-15 07:33:08,798 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 < 50);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-15 07:33:08,799 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-15 07:33:08,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:08,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:33:08,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:33:08,800 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-15 07:33:08,800 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:08,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:33:08,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:33:08,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:08,953 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-15 07:33:08,954 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 < 50);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-15 07:33:08,955 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-15 07:33:08,959 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-15 07:33:08,960 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-15 07:33:08,960 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-15 07:33:08,961 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-15 07:33:08,961 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:33:08,961 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:33:08,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:33:08,962 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-15 07:33:08,962 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 < 50);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-15 07:33:08,963 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-15 07:33:08,963 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-15 07:33:08,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:33:08,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:33:08,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:33:08,964 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-15 07:33:08,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:33:08,965 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-15 07:33:08,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:08,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [607805980] [2022-04-15 07:33:08,965 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:08,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1778303130] [2022-04-15 07:33:08,965 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1778303130] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:08,965 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:08,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:33:08,966 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:08,966 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [359397140] [2022-04-15 07:33:08,966 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [359397140] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:08,966 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:08,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:33:08,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1119362245] [2022-04-15 07:33:08,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:08,967 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-15 07:33:08,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:08,968 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-15 07:33:08,988 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-15 07:33:08,988 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:33:08,988 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:08,988 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:33:08,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:33:08,989 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-15 07:33:09,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:09,286 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-15 07:33:09,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:33:09,286 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-15 07:33:09,287 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:09,287 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-15 07:33:09,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:33:09,288 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-15 07:33:09,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:33:09,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:33:09,326 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-15 07:33:09,327 INFO L225 Difference]: With dead ends: 44 [2022-04-15 07:33:09,327 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 07:33:09,328 INFO L912 BasicCegarLoop]: 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-15 07:33:09,328 INFO L913 BasicCegarLoop]: 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-15 07:33:09,329 INFO L914 BasicCegarLoop]: 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-15 07:33:09,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 07:33:09,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-15 07:33:09,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:09,344 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-15 07:33:09,344 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-15 07:33:09,345 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-15 07:33:09,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:09,346 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:33:09,346 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:33:09,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:09,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:09,347 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-15 07:33:09,347 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-15 07:33:09,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:09,348 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:33:09,349 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:33:09,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:09,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:09,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:09,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:09,349 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-15 07:33:09,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:33:09,350 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-15 07:33:09,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:09,351 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:33:09,351 INFO L479 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-15 07:33:09,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:33:09,386 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-15 07:33:09,387 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:33:09,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:33:09,387 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:09,387 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:09,419 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-15 07:33:09,603 WARN L460 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-15 07:33:09,604 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:09,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:09,604 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-15 07:33:09,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:09,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [911393450] [2022-04-15 07:33:09,675 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:09,675 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:09,675 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:09,675 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-15 07:33:09,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:09,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1742805518] [2022-04-15 07:33:09,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:09,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:09,685 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:09,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1056591848] [2022-04-15 07:33:09,686 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:09,686 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:09,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:09,687 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-15 07:33:09,688 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-15 07:33:09,720 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:09,720 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:09,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 07:33:09,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:09,728 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:09,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:33:09,868 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-15 07:33:09,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:33:09,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:33:09,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:33:09,869 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-15 07:33:09,869 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-15 07:33:09,870 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 < 50);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-15 07:33:09,870 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-15 07:33:09,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:33:09,870 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:33:09,871 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:33:09,871 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-15 07:33:09,871 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-15 07:33:09,872 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-15 07:33:09,873 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-15 07:33:09,873 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-15 07:33:09,874 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 < 50);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-15 07:33:09,874 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-15 07:33:09,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:09,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:33:09,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:33:09,875 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-15 07:33:09,875 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:10,004 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:33:10,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:33:10,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:10,006 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-15 07:33:10,006 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 < 50);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-15 07:33:10,007 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-15 07:33:10,111 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-15 07:33:10,113 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-15 07:33:10,123 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-15 07:33:10,124 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-15 07:33:10,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:33:10,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:33:10,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:33:10,125 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-15 07:33:10,127 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 < 50);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-15 07:33:10,127 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-15 07:33:10,128 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-15 07:33:10,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:33:10,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:33:10,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:33:10,128 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-15 07:33:10,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:33:10,128 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-15 07:33:10,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:10,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1742805518] [2022-04-15 07:33:10,129 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:10,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1056591848] [2022-04-15 07:33:10,129 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1056591848] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:10,129 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:10,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:33:10,129 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:10,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [911393450] [2022-04-15 07:33:10,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [911393450] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:10,130 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:10,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:33:10,130 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775499234] [2022-04-15 07:33:10,130 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:10,130 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-15 07:33:10,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:10,131 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-15 07:33:10,147 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-15 07:33:10,147 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:33:10,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:10,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:33:10,148 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:33:10,148 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-15 07:33:10,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:10,418 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-15 07:33:10,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:33:10,418 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-15 07:33:10,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:10,418 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-15 07:33:10,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:33:10,420 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-15 07:33:10,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:33:10,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:33:10,456 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-15 07:33:10,457 INFO L225 Difference]: With dead ends: 53 [2022-04-15 07:33:10,457 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 07:33:10,457 INFO L912 BasicCegarLoop]: 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-15 07:33:10,458 INFO L913 BasicCegarLoop]: 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-15 07:33:10,458 INFO L914 BasicCegarLoop]: 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-15 07:33:10,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 07:33:10,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-15 07:33:10,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:10,473 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-15 07:33:10,474 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-15 07:33:10,474 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-15 07:33:10,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:10,475 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:33:10,476 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:33:10,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:10,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:10,476 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-15 07:33:10,476 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-15 07:33:10,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:10,478 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:33:10,478 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:33:10,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:10,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:10,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:10,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:10,479 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-15 07:33:10,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-15 07:33:10,480 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-15 07:33:10,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:10,480 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-15 07:33:10,480 INFO L479 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-15 07:33:10,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-15 07:33:10,523 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-15 07:33:10,523 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 07:33:10,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:33:10,524 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:10,524 INFO L499 BasicCegarLoop]: 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-15 07:33:10,542 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 07:33:10,740 WARN L460 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-15 07:33:10,740 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:10,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:10,740 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-15 07:33:10,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:10,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1050287036] [2022-04-15 07:33:10,785 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:10,785 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:10,786 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:10,786 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-15 07:33:10,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:10,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [214100132] [2022-04-15 07:33:10,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:10,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:10,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:10,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1899290945] [2022-04-15 07:33:10,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:10,797 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:10,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:10,798 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-15 07:33:10,799 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-15 07:33:10,831 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:10,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:10,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 07:33:10,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:10,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:10,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:33:10,931 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-15 07:33:10,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:33:10,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:33:10,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:33:10,943 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-15 07:33:10,944 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-15 07:33:10,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,945 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-15 07:33:10,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,946 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,947 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:33:10,947 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-15 07:33:10,948 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-15 07:33:10,948 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-15 07:33:10,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:33:10,949 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-15 07:33:10,949 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-15 07:33:10,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:33:10,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:33:10,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:33:10,949 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-15 07:33:10,949 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:11,077 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:33:11,077 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:33:11,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:33:11,077 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-15 07:33:11,077 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-15 07:33:11,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:33:11,078 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 50)} is VALID [2022-04-15 07:33:11,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 50)} is VALID [2022-04-15 07:33:11,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 50)} 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 50)} is VALID [2022-04-15 07:33:11,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 50)} is VALID [2022-04-15 07:33:11,080 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 50)} #58#return; {1362#(< ~counter~0 50)} is VALID [2022-04-15 07:33:11,080 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-15 07:33:11,080 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-15 07:33:11,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-15 07:33:11,080 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 50)} 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-15 07:33:11,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 50)} is VALID [2022-04-15 07:33:11,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 50)} is VALID [2022-04-15 07:33:11,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 49)} 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 49)} is VALID [2022-04-15 07:33:11,082 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 49)} call #t~ret9 := main(); {1393#(< ~counter~0 49)} is VALID [2022-04-15 07:33:11,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 49)} {1269#true} #62#return; {1393#(< ~counter~0 49)} is VALID [2022-04-15 07:33:11,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 49)} assume true; {1393#(< ~counter~0 49)} is VALID [2022-04-15 07:33:11,083 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 49)} is VALID [2022-04-15 07:33:11,083 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:33:11,083 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-15 07:33:11,085 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:11,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [214100132] [2022-04-15 07:33:11,085 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:11,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1899290945] [2022-04-15 07:33:11,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1899290945] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:11,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:11,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 07:33:11,086 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:11,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1050287036] [2022-04-15 07:33:11,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1050287036] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:11,086 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:11,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:33:11,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [71135837] [2022-04-15 07:33:11,086 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:11,086 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-15 07:33:11,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:11,088 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-15 07:33:11,103 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-15 07:33:11,103 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:33:11,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:11,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:33:11,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:33:11,104 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-15 07:33:11,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:11,191 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-15 07:33:11,191 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:33:11,191 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-15 07:33:11,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:11,191 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-15 07:33:11,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:33:11,192 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-15 07:33:11,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:33:11,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:33:11,220 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-15 07:33:11,221 INFO L225 Difference]: With dead ends: 54 [2022-04-15 07:33:11,221 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 07:33:11,221 INFO L912 BasicCegarLoop]: 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-15 07:33:11,221 INFO L913 BasicCegarLoop]: 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-15 07:33:11,222 INFO L914 BasicCegarLoop]: 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-15 07:33:11,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 07:33:11,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-15 07:33:11,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:11,243 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-15 07:33:11,243 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-15 07:33:11,243 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-15 07:33:11,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:11,245 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:33:11,245 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:33:11,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:11,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:11,245 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-15 07:33:11,245 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-15 07:33:11,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:11,247 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:33:11,247 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:33:11,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:11,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:11,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:11,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:11,247 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-15 07:33:11,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-15 07:33:11,249 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-15 07:33:11,249 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:11,249 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-15 07:33:11,249 INFO L479 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-15 07:33:11,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-15 07:33:11,288 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-15 07:33:11,288 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:33:11,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-15 07:33:11,288 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:11,288 INFO L499 BasicCegarLoop]: 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-15 07:33:11,304 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-15 07:33:11,489 WARN L460 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-15 07:33:11,489 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:11,489 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:11,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-15 07:33:11,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:11,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [968536138] [2022-04-15 07:33:11,534 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:11,534 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:11,534 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:11,534 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-15 07:33:11,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:11,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13128753] [2022-04-15 07:33:11,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:11,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:11,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:11,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1098259810] [2022-04-15 07:33:11,555 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:11,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:11,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:11,559 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-15 07:33:11,574 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-15 07:33:11,609 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:11,610 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:11,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 07:33:11,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:11,624 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:11,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:33:11,955 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-15 07:33:11,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:33:11,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:33:11,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:33:11,956 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-15 07:33:11,956 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-15 07:33:11,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 50);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-15 07:33:11,957 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-15 07:33:11,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:33:11,957 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:33:11,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:33:11,958 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-15 07:33:11,958 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-15 07:33:11,959 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-15 07:33:11,959 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-15 07:33:11,960 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-15 07:33:11,960 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 < 50);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-15 07:33:11,960 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-15 07:33:11,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:11,961 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-15 07:33:11,961 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-15 07:33:11,962 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-15 07:33:11,963 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-15 07:33:11,964 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-15 07:33:11,965 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-15 07:33:11,965 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:11,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:33:11,966 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:33:11,966 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-15 07:33:11,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:12,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:33:12,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:33:12,591 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:12,592 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-15 07:33:12,592 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-15 07:33:12,593 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-15 07:33:12,594 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-15 07:33:12,594 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-15 07:33:12,595 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-15 07:33:12,595 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-15 07:33:12,595 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-15 07:33:12,599 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 < 50);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-15 07:33:12,599 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-15 07:33:12,601 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-15 07:33:12,602 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-15 07:33:12,604 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-15 07:33:12,604 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-15 07:33:12,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:33:12,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:33:12,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:33:12,604 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-15 07:33:12,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-15 07:33:12,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-15 07:33:12,604 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-15 07:33:12,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:33:12,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:33:12,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:33:12,605 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-15 07:33:12,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:33:12,605 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-15 07:33:12,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:12,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [13128753] [2022-04-15 07:33:12,605 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:12,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1098259810] [2022-04-15 07:33:12,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1098259810] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:12,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:12,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:33:12,606 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:12,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [968536138] [2022-04-15 07:33:12,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [968536138] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:12,606 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:12,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:33:12,606 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [220807812] [2022-04-15 07:33:12,606 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:12,607 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-15 07:33:12,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:12,607 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-15 07:33:12,629 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-15 07:33:12,630 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:33:12,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:12,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:33:12,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:33:12,630 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-15 07:33:13,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:13,084 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-15 07:33:13,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:33:13,084 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-15 07:33:13,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:13,084 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-15 07:33:13,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:33:13,086 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-15 07:33:13,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:33:13,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-15 07:33:13,123 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-15 07:33:13,124 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:33:13,124 INFO L226 Difference]: Without dead ends: 49 [2022-04-15 07:33:13,124 INFO L912 BasicCegarLoop]: 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-15 07:33:13,125 INFO L913 BasicCegarLoop]: 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-15 07:33:13,125 INFO L914 BasicCegarLoop]: 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-15 07:33:13,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-15 07:33:13,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-15 07:33:13,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:13,145 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-15 07:33:13,146 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-15 07:33:13,146 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-15 07:33:13,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:13,147 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:33:13,147 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:33:13,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:13,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:13,147 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-15 07:33:13,148 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-15 07:33:13,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:13,149 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:33:13,149 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:33:13,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:13,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:13,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:13,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:13,149 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-15 07:33:13,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:33:13,150 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-15 07:33:13,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:13,150 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:33:13,151 INFO L479 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-15 07:33:13,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:33:13,188 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-15 07:33:13,188 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:33:13,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:33:13,189 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:13,189 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:13,207 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-15 07:33:13,403 WARN L460 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-15 07:33:13,403 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:13,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:13,404 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-15 07:33:13,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:13,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [603114087] [2022-04-15 07:33:13,447 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:13,447 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:13,447 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:13,448 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-15 07:33:13,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:13,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1471690085] [2022-04-15 07:33:13,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:13,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:13,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:13,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [723965257] [2022-04-15 07:33:13,473 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:33:13,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:13,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:13,473 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-15 07:33:13,474 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-15 07:33:13,511 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:33:13,511 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:13,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:33:13,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:13,521 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:13,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:33:13,789 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-15 07:33:13,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:33:13,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:33:13,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:33:13,789 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-15 07:33:13,790 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-15 07:33:13,790 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 < 50);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-15 07:33:13,790 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-15 07:33:13,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:33:13,791 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:33:13,791 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:33:13,794 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-15 07:33:13,794 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-15 07:33:13,795 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-15 07:33:13,796 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-15 07:33:13,796 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-15 07:33:13,797 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 < 50);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-15 07:33:13,797 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-15 07:33:13,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:13,797 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-15 07:33:13,798 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-15 07:33:13,799 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-15 07:33:13,804 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-15 07:33:13,805 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-15 07:33:13,806 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-15 07:33:13,807 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-15 07:33:13,810 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 < 50);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-15 07:33:13,814 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-15 07:33:13,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:13,815 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:33:13,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:33:13,815 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-15 07:33:13,815 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:16,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:33:16,596 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:33:16,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:16,608 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-15 07:33:16,609 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 < 50);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-15 07:33:16,609 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-15 07:33:16,623 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-15 07:33:16,623 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-15 07:33:16,624 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-15 07:33:16,625 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-15 07:33:16,625 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-15 07:33:16,625 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-15 07:33:16,626 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-15 07:33:16,626 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-15 07:33:16,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 50);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-15 07:33:16,626 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-15 07:33:16,627 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-15 07:33:16,627 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-15 07:33:16,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-15 07:33:16,627 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-15 07:33:16,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:33:16,627 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:33:16,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:33:16,627 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-15 07:33:16,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-15 07:33:16,628 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-15 07:33:16,628 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-15 07:33:16,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:33:16,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:33:16,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:33:16,628 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-15 07:33:16,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:33:16,628 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-15 07:33:16,629 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:16,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1471690085] [2022-04-15 07:33:16,629 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:16,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [723965257] [2022-04-15 07:33:16,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [723965257] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:16,629 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:16,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:33:16,629 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:16,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [603114087] [2022-04-15 07:33:16,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [603114087] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:16,630 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:16,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:33:16,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [38114218] [2022-04-15 07:33:16,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:16,630 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-15 07:33:16,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:16,630 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-15 07:33:16,660 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-15 07:33:16,660 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:33:16,660 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:16,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:33:16,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:33:16,661 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-15 07:33:17,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:17,288 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-15 07:33:17,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:33:17,288 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-15 07:33:17,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:17,289 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-15 07:33:17,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:33:17,290 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-15 07:33:17,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:33:17,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 07:33:17,339 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-15 07:33:17,340 INFO L225 Difference]: With dead ends: 63 [2022-04-15 07:33:17,340 INFO L226 Difference]: Without dead ends: 58 [2022-04-15 07:33:17,341 INFO L912 BasicCegarLoop]: 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-15 07:33:17,341 INFO L913 BasicCegarLoop]: 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-15 07:33:17,341 INFO L914 BasicCegarLoop]: 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-15 07:33:17,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-15 07:33:17,368 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-15 07:33:17,368 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:17,369 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-15 07:33:17,369 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-15 07:33:17,369 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-15 07:33:17,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:17,370 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:33:17,370 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:33:17,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:17,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:17,371 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-15 07:33:17,371 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-15 07:33:17,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:17,372 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:33:17,372 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:33:17,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:17,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:17,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:17,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:17,373 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-15 07:33:17,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-15 07:33:17,374 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-15 07:33:17,374 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:17,374 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-15 07:33:17,374 INFO L479 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-15 07:33:17,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-15 07:33:17,424 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-15 07:33:17,424 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-15 07:33:17,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:33:17,425 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:17,425 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:33:17,443 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-15 07:33:17,639 WARN L460 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-15 07:33:17,639 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:17,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:17,640 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-15 07:33:17,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:17,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1178168704] [2022-04-15 07:33:17,750 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:17,750 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:17,750 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:17,750 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-15 07:33:17,750 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:17,750 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418993978] [2022-04-15 07:33:17,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:17,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:17,759 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:17,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [64802479] [2022-04-15 07:33:17,759 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:17,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:17,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:17,760 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-15 07:33:17,761 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-15 07:33:17,797 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:17,797 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:17,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 07:33:17,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:17,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:32,650 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:33:35,409 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:33:40,328 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:34:42,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:34:42,427 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-15 07:34:42,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:34:42,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:34:42,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:34:42,428 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-15 07:34:42,429 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-15 07:34:42,429 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 < 50);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-15 07:34:42,429 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-15 07:34:42,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:42,430 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-15 07:34:42,430 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-15 07:34:42,431 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-15 07:34:42,431 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-15 07:34:42,432 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-15 07:34:42,432 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-15 07:34:42,433 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-15 07:34:42,433 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 < 50);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-15 07:34:42,433 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-15 07:34:42,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:42,434 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-15 07:34:42,434 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-15 07:34:42,436 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-15 07:34:42,436 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-15 07:34:42,437 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-15 07:34:42,439 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-15 07:34:42,440 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-15 07:34:42,443 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 < 50);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-15 07:34:42,531 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#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} is VALID [2022-04-15 07:34:42,532 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:42,532 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:34:42,532 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:34:42,532 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-15 07:34:42,532 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:34:49,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:34:49,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:34:49,404 INFO L290 TraceCheckUtils]: 29: Hoare triple {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:49,404 INFO L272 TraceCheckUtils]: 28: Hoare triple {2874#(= (+ (* 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)); {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:34:49,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2874#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:34:49,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {2878#(= (+ (* 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; {2878#(= (+ (* 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-15 07:34:49,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {2885#(= (+ (* (* 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; {2878#(= (+ (* 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-15 07:34:49,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {2889#(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; {2885#(= (+ (* (* 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-15 07:34:49,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {2889#(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); {2889#(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-15 07:34:49,422 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2896#(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; {2889#(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-15 07:34:49,422 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-15 07:34:49,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {2906#(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-15 07:34:49,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2906#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:34:49,423 INFO L272 TraceCheckUtils]: 18: Hoare triple {2896#(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-15 07:34:49,423 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2896#(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-15 07:34:49,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-15 07:34:49,424 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-15 07:34:49,424 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-15 07:34:49,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-15 07:34:49,424 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-15 07:34:49,424 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:34:49,424 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-15 07:34:49,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-15 07:34:49,424 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-15 07:34:49,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-15 07:34:49,424 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-15 07:34:49,424 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-15 07:34:49,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:34:49,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:34:49,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:34:49,425 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-15 07:34:49,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:34:49,425 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-15 07:34:49,425 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:34:49,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418993978] [2022-04-15 07:34:49,425 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:34:49,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [64802479] [2022-04-15 07:34:49,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [64802479] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:34:49,426 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:34:49,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-15 07:34:49,426 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:34:49,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1178168704] [2022-04-15 07:34:49,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1178168704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:34:49,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:34:49,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:34:49,426 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1684221776] [2022-04-15 07:34:49,426 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:34:49,427 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-15 07:34:49,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:34:49,427 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-15 07:34:49,857 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-15 07:34:49,857 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:34:49,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:49,858 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:34:49,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=349, Unknown=1, NotChecked=0, Total=420 [2022-04-15 07:34:49,858 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-15 07:34:51,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:51,682 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-15 07:34:51,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:34:51,683 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-15 07:34:51,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:34:51,683 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-15 07:34:51,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:34:51,684 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-15 07:34:51,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:34:51,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:34:51,882 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-15 07:34:51,883 INFO L225 Difference]: With dead ends: 74 [2022-04-15 07:34:51,883 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 07:34:51,884 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=101, Invalid=498, Unknown=1, NotChecked=0, Total=600 [2022-04-15 07:34:51,884 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 31 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:34:51,884 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 152 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 216 Invalid, 0 Unknown, 31 Unchecked, 0.5s Time] [2022-04-15 07:34:51,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 07:34:51,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-15 07:34:51,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:34:51,930 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-15 07:34:51,930 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-15 07:34:51,930 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-15 07:34:51,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:51,931 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:34:51,931 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:34:51,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:51,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:51,932 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-15 07:34:51,932 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-15 07:34:51,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:51,933 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:34:51,933 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:34:51,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:51,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:51,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:34:51,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:34:51,934 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-15 07:34:51,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-15 07:34:51,935 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-15 07:34:51,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:34:51,935 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-15 07:34:51,935 INFO L479 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-15 07:34:51,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-15 07:34:53,394 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-15 07:34:53,395 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:34:53,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:34:53,395 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:34:53,395 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:34:53,413 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-15 07:34:53,598 WARN L460 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-15 07:34:53,598 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:34:53,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:34:53,598 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-15 07:34:53,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:53,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [816577951] [2022-04-15 07:34:53,688 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:34:53,688 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:34:53,688 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:34:53,688 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-15 07:34:53,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:34:53,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [345212869] [2022-04-15 07:34:53,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:34:53,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:34:53,697 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:34:53,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1446008975] [2022-04-15 07:34:53,697 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:34:53,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:34:53,698 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:34:53,698 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-15 07:34:53,699 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-15 07:34:53,740 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:34:53,740 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:34:53,741 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 07:34:53,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:34:53,770 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:00,662 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:35:02,986 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:35:02,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#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; {3360#true} is VALID [2022-04-15 07:35:02,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:35:02,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:35:02,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:35:02,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#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; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:35:02,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {3380#(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; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:35:02,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:35:02,989 INFO L272 TraceCheckUtils]: 8: Hoare triple {3380#(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)); {3360#true} is VALID [2022-04-15 07:35:02,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:35:02,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:35:02,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:35:02,990 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:35:02,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:35:02,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {3380#(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; {3408#(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-15 07:35:02,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {3408#(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; {3412#(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-15 07:35:02,992 INFO L290 TraceCheckUtils]: 16: Hoare triple {3412#(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; {3412#(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-15 07:35:02,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {3412#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3419#(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-15 07:35:02,993 INFO L272 TraceCheckUtils]: 18: Hoare triple {3419#(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)); {3360#true} is VALID [2022-04-15 07:35:02,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:02,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:02,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:02,995 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3419#(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; {3437#(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-15 07:35:02,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {3437#(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); {3437#(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-15 07:35:02,997 INFO L290 TraceCheckUtils]: 24: Hoare triple {3437#(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; {3444#(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-15 07:35:02,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {3444#(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; {3448#(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-15 07:35:03,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {3448#(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; {3448#(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-15 07:35:03,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {3448#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3455#(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-15 07:35:03,006 INFO L272 TraceCheckUtils]: 28: Hoare triple {3455#(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)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:03,007 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:03,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:35:03,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:35:03,007 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-15 07:35:03,007 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:06,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:35:06,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:35:06,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:06,200 INFO L272 TraceCheckUtils]: 28: Hoare triple {3479#(= (+ (* 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)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:06,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {3483#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3479#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:35:06,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {3483#(= (+ (* 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; {3483#(= (+ (* 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-15 07:35:06,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {3490#(= (+ (* (* 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; {3483#(= (+ (* 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-15 07:35:06,203 INFO L290 TraceCheckUtils]: 24: Hoare triple {3494#(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; {3490#(= (+ (* (* 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-15 07:35:06,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#(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); {3494#(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-15 07:35:06,204 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3501#(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; {3494#(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-15 07:35:06,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:06,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:06,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:35:06,205 INFO L272 TraceCheckUtils]: 18: Hoare triple {3501#(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)); {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 17: Hoare triple {3360#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3501#(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-15 07:35:06,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 15: Hoare triple {3360#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {3360#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; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {3360#true} assume !!(~x~0 <= ~X~0); {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3360#true} #58#return; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:35:06,206 INFO L272 TraceCheckUtils]: 8: Hoare triple {3360#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {3360#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L290 TraceCheckUtils]: 6: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#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; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#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; {3360#true} is VALID [2022-04-15 07:35:06,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:35:06,207 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-15 07:35:06,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:06,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [345212869] [2022-04-15 07:35:06,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:06,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1446008975] [2022-04-15 07:35:06,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1446008975] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:06,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:06,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-15 07:35:06,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:06,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [816577951] [2022-04-15 07:35:06,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [816577951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:06,208 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:06,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:35:06,208 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816364807] [2022-04-15 07:35:06,208 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:06,209 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-15 07:35:06,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:06,210 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-15 07:35:06,238 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-15 07:35:06,238 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:35:06,238 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:06,239 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:35:06,239 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:35:06,239 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-15 07:35:07,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:07,226 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-15 07:35:07,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:35:07,226 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-15 07:35:07,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:07,226 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-15 07:35:07,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:35:07,228 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-15 07:35:07,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:35:07,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:35:07,298 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-15 07:35:07,299 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:35:07,299 INFO L226 Difference]: Without dead ends: 80 [2022-04-15 07:35:07,300 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:35:07,300 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:35:07,300 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 166 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:35:07,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-15 07:35:07,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-15 07:35:07,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:07,366 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-15 07:35:07,366 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-15 07:35:07,367 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-15 07:35:07,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:07,370 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:35:07,370 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:35:07,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:07,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:07,370 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-15 07:35:07,371 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-15 07:35:07,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:07,373 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:35:07,373 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:35:07,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:07,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:07,373 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:07,373 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:07,373 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-15 07:35:07,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-15 07:35:07,375 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-15 07:35:07,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:07,375 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-15 07:35:07,375 INFO L479 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-15 07:35:07,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-15 07:35:07,552 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-15 07:35:07,552 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-15 07:35:07,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:35:07,553 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:07,553 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:35:07,572 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-15 07:35:07,753 WARN L460 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-15 07:35:07,754 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:07,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:07,754 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-15 07:35:07,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:07,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [386424725] [2022-04-15 07:35:07,800 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:07,800 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:07,800 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:07,800 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-15 07:35:07,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:07,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1391199847] [2022-04-15 07:35:07,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:07,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:07,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:07,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [625459964] [2022-04-15 07:35:07,808 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:35:07,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:07,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:07,809 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-15 07:35:07,810 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-15 07:35:07,854 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:35:07,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:07,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:35:07,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:07,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:08,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:35:08,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#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; {4083#true} is VALID [2022-04-15 07:35:08,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:35:08,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:35:08,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#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; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:08,146 INFO L290 TraceCheckUtils]: 6: Hoare triple {4103#(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; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:08,147 INFO L290 TraceCheckUtils]: 7: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:08,147 INFO L272 TraceCheckUtils]: 8: Hoare triple {4103#(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)); {4083#true} is VALID [2022-04-15 07:35:08,147 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:35:08,147 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:35:08,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,148 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:08,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {4103#(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); {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:08,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {4103#(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; {4131#(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-15 07:35:08,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {4131#(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; {4135#(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-15 07:35:08,150 INFO L290 TraceCheckUtils]: 16: Hoare triple {4135#(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; {4135#(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-15 07:35:08,150 INFO L290 TraceCheckUtils]: 17: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4135#(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-15 07:35:08,150 INFO L272 TraceCheckUtils]: 18: Hoare triple {4135#(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)); {4083#true} is VALID [2022-04-15 07:35:08,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:35:08,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:35:08,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,151 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #58#return; {4135#(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-15 07:35:08,151 INFO L290 TraceCheckUtils]: 23: Hoare triple {4135#(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); {4160#(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-15 07:35:08,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {4160#(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; {4164#(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-15 07:35:08,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {4164#(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; {4168#(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-15 07:35:08,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {4168#(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; {4168#(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-15 07:35:08,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {4168#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4175#(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-15 07:35:08,155 INFO L272 TraceCheckUtils]: 28: Hoare triple {4175#(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)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:08,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:08,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:35:08,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:35:08,156 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-15 07:35:08,156 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:08,649 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:35:08,649 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:35:08,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:08,650 INFO L272 TraceCheckUtils]: 28: Hoare triple {4199#(= (+ (* 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)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:08,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {4203#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4199#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:35:08,652 INFO L290 TraceCheckUtils]: 26: Hoare triple {4203#(= (+ (* 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; {4203#(= (+ (* 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-15 07:35:08,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {4210#(= (+ (* (* 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; {4203#(= (+ (* 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-15 07:35:08,655 INFO L290 TraceCheckUtils]: 24: Hoare triple {4214#(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; {4210#(= (+ (* (* 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-15 07:35:08,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(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); {4214#(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-15 07:35:08,656 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4218#(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; {4218#(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-15 07:35:08,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:35:08,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:35:08,656 INFO L272 TraceCheckUtils]: 18: Hoare triple {4218#(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)); {4083#true} is VALID [2022-04-15 07:35:08,657 INFO L290 TraceCheckUtils]: 17: Hoare triple {4218#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4218#(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-15 07:35:08,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {4218#(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; {4218#(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-15 07:35:08,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {4243#(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; {4218#(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-15 07:35:08,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {4247#(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; {4243#(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-15 07:35:08,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {4247#(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); {4247#(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-15 07:35:08,662 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4247#(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; {4247#(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-15 07:35:08,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:35:08,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:35:08,662 INFO L272 TraceCheckUtils]: 8: Hoare triple {4247#(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)); {4083#true} is VALID [2022-04-15 07:35:08,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {4247#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4247#(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-15 07:35:08,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {4247#(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; {4247#(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-15 07:35:08,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#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; {4247#(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-15 07:35:08,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:35:08,664 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:35:08,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:35:08,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#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; {4083#true} is VALID [2022-04-15 07:35:08,664 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:35:08,664 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-15 07:35:08,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:08,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1391199847] [2022-04-15 07:35:08,665 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:08,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [625459964] [2022-04-15 07:35:08,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [625459964] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:08,665 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:08,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-15 07:35:08,665 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:08,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [386424725] [2022-04-15 07:35:08,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [386424725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:08,665 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:08,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:35:08,665 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515509279] [2022-04-15 07:35:08,665 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:08,666 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-15 07:35:08,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:08,666 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-15 07:35:08,690 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-15 07:35:08,690 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:35:08,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:08,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:35:08,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:35:08,691 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-15 07:35:09,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:09,343 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-15 07:35:09,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:35:09,344 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-15 07:35:09,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:09,344 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-15 07:35:09,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:35:09,345 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-15 07:35:09,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:35:09,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-15 07:35:09,394 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-15 07:35:09,395 INFO L225 Difference]: With dead ends: 93 [2022-04-15 07:35:09,395 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 07:35:09,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:35:09,396 INFO L913 BasicCegarLoop]: 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-15 07:35:09,396 INFO L914 BasicCegarLoop]: 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-15 07:35:09,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 07:35:09,469 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-15 07:35:09,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:09,469 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-15 07:35:09,469 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-15 07:35:09,469 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-15 07:35:09,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:09,474 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:35:09,474 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:35:09,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:09,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:09,474 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-15 07:35:09,474 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-15 07:35:09,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:09,476 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:35:09,476 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:35:09,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:09,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:09,476 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:09,476 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:09,476 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-15 07:35:09,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-15 07:35:09,477 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-15 07:35:09,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:09,478 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-15 07:35:09,478 INFO L479 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-15 07:35:09,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-15 07:35:09,683 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-15 07:35:09,684 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-15 07:35:09,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 07:35:09,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:09,684 INFO L499 BasicCegarLoop]: 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-15 07:35:09,702 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 07:35:09,901 WARN L460 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-15 07:35:09,901 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:09,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:09,901 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-15 07:35:09,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:09,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1739844216] [2022-04-15 07:35:10,010 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:10,010 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:10,010 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:10,010 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-15 07:35:10,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:10,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2003988518] [2022-04-15 07:35:10,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:10,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:10,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:10,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1719722686] [2022-04-15 07:35:10,020 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:35:10,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:10,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:10,023 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-15 07:35:10,030 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-15 07:35:10,062 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:35:10,062 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:10,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:35:10,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:10,071 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:10,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:35:10,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#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; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:10,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {4844#(<= ~counter~0 0)} assume true; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:10,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4844#(<= ~counter~0 0)} {4836#true} #62#return; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:10,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {4844#(<= ~counter~0 0)} call #t~ret9 := main(); {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:10,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {4844#(<= ~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; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:10,218 INFO L290 TraceCheckUtils]: 6: Hoare triple {4844#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {4860#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,218 INFO L272 TraceCheckUtils]: 8: Hoare triple {4860#(<= ~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)); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#(<= ~counter~0 1)} ~cond := #in~cond; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,219 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#(<= ~counter~0 1)} assume !(0 == ~cond); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {4860#(<= ~counter~0 1)} assume true; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,220 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4860#(<= ~counter~0 1)} {4860#(<= ~counter~0 1)} #58#return; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {4860#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {4860#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,220 INFO L290 TraceCheckUtils]: 15: Hoare triple {4860#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:10,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {4860#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,221 INFO L290 TraceCheckUtils]: 17: Hoare triple {4891#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,222 INFO L272 TraceCheckUtils]: 18: Hoare triple {4891#(<= ~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)); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {4891#(<= ~counter~0 2)} ~cond := #in~cond; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {4891#(<= ~counter~0 2)} assume !(0 == ~cond); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,222 INFO L290 TraceCheckUtils]: 21: Hoare triple {4891#(<= ~counter~0 2)} assume true; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,223 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4891#(<= ~counter~0 2)} {4891#(<= ~counter~0 2)} #58#return; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {4891#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {4891#(<= ~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; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {4891#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:10,224 INFO L290 TraceCheckUtils]: 26: Hoare triple {4891#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4922#(<= |main_#t~post6| 2)} is VALID [2022-04-15 07:35:10,224 INFO L290 TraceCheckUtils]: 27: Hoare triple {4922#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:35:10,224 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-15 07:35:10,224 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#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)); {4837#false} is VALID [2022-04-15 07:35:10,224 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:35:10,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:35:10,225 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:35:10,225 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-15 07:35:10,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:10,374 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:35:10,374 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:35:10,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:35:10,374 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#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)); {4837#false} is VALID [2022-04-15 07:35:10,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-15 07:35:10,383 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:35:10,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {4960#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4956#(< |main_#t~post6| 50)} is VALID [2022-04-15 07:35:10,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {4960#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {4960#(< ~counter~0 50)} 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; {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {4960#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,385 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4836#true} {4960#(< ~counter~0 50)} #58#return; {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,385 INFO L290 TraceCheckUtils]: 21: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:35:10,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:35:10,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:35:10,385 INFO L272 TraceCheckUtils]: 18: Hoare triple {4960#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-15 07:35:10,386 INFO L290 TraceCheckUtils]: 17: Hoare triple {4960#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,386 INFO L290 TraceCheckUtils]: 16: Hoare triple {4991#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4960#(< ~counter~0 50)} is VALID [2022-04-15 07:35:10,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {4991#(< ~counter~0 49)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {4991#(< ~counter~0 49)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {4991#(< ~counter~0 49)} assume !!(~x~0 <= ~X~0); {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,388 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4836#true} {4991#(< ~counter~0 49)} #58#return; {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:35:10,388 INFO L290 TraceCheckUtils]: 10: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:35:10,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:35:10,388 INFO L272 TraceCheckUtils]: 8: Hoare triple {4991#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-15 07:35:10,388 INFO L290 TraceCheckUtils]: 7: Hoare triple {4991#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,389 INFO L290 TraceCheckUtils]: 6: Hoare triple {5022#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4991#(< ~counter~0 49)} is VALID [2022-04-15 07:35:10,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {5022#(< ~counter~0 48)} 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; {5022#(< ~counter~0 48)} is VALID [2022-04-15 07:35:10,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {5022#(< ~counter~0 48)} call #t~ret9 := main(); {5022#(< ~counter~0 48)} is VALID [2022-04-15 07:35:10,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5022#(< ~counter~0 48)} {4836#true} #62#return; {5022#(< ~counter~0 48)} is VALID [2022-04-15 07:35:10,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {5022#(< ~counter~0 48)} assume true; {5022#(< ~counter~0 48)} is VALID [2022-04-15 07:35:10,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#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; {5022#(< ~counter~0 48)} is VALID [2022-04-15 07:35:10,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:35:10,391 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-15 07:35:10,391 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:10,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2003988518] [2022-04-15 07:35:10,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:10,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719722686] [2022-04-15 07:35:10,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719722686] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:10,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:10,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-15 07:35:10,391 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:10,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1739844216] [2022-04-15 07:35:10,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1739844216] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:10,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:10,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:35:10,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1841544017] [2022-04-15 07:35:10,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:10,393 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-15 07:35:10,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:10,393 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-15 07:35:10,414 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-15 07:35:10,414 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:35:10,414 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:10,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:35:10,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-15 07:35:10,415 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-15 07:35:10,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:10,558 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-15 07:35:10,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:35:10,558 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-15 07:35:10,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:10,559 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-15 07:35:10,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:35:10,559 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-15 07:35:10,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:35:10,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-15 07:35:10,594 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-15 07:35:10,596 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:35:10,596 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 07:35:10,596 INFO L912 BasicCegarLoop]: 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-15 07:35:10,596 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:35:10,596 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 75 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 07:35:10,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 07:35:10,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-15 07:35:10,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:10,668 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-15 07:35:10,669 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-15 07:35:10,669 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-15 07:35:10,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:10,671 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:35:10,671 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:35:10,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:10,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:10,671 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-15 07:35:10,671 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-15 07:35:10,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:10,672 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:35:10,672 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:35:10,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:10,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:10,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:10,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:10,673 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-15 07:35:10,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-15 07:35:10,674 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-15 07:35:10,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:10,674 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-15 07:35:10,674 INFO L479 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-15 07:35:10,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-15 07:35:11,970 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-15 07:35:11,971 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:35:11,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:35:11,971 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:11,971 INFO L499 BasicCegarLoop]: 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-15 07:35:11,987 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-15 07:35:12,177 WARN L460 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-15 07:35:12,177 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:12,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:12,178 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-15 07:35:12,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:12,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1876332306] [2022-04-15 07:35:12,222 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:12,223 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:12,223 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:12,223 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-15 07:35:12,223 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:12,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [461478074] [2022-04-15 07:35:12,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:12,223 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:12,242 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:12,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33051731] [2022-04-15 07:35:12,242 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:35:12,243 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:12,243 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:12,243 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-15 07:35:12,245 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-15 07:35:12,295 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:35:12,295 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:12,297 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:35:12,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:12,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:12,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:35:12,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#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; {5579#true} is VALID [2022-04-15 07:35:12,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:12,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:35:12,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:35:12,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#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; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:12,746 INFO L290 TraceCheckUtils]: 6: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:12,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:12,746 INFO L272 TraceCheckUtils]: 8: Hoare triple {5599#(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)); {5579#true} is VALID [2022-04-15 07:35:12,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:35:12,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:35:12,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:12,747 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:12,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:35:12,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {5599#(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; {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,748 INFO L290 TraceCheckUtils]: 16: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,749 INFO L290 TraceCheckUtils]: 17: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,749 INFO L272 TraceCheckUtils]: 18: Hoare triple {5631#(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)); {5579#true} is VALID [2022-04-15 07:35:12,749 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:35:12,749 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:35:12,749 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:12,750 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #58#return; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(~x~0 <= ~X~0); {5656#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,750 INFO L290 TraceCheckUtils]: 24: Hoare triple {5656#(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; {5660#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} is VALID [2022-04-15 07:35:12,751 INFO L290 TraceCheckUtils]: 25: Hoare triple {5660#(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; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:35:12,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {5664#(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; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:35:12,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5671#(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-15 07:35:12,752 INFO L272 TraceCheckUtils]: 28: Hoare triple {5671#(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)); {5579#true} is VALID [2022-04-15 07:35:12,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:12,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:12,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:12,754 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5671#(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; {5689#(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-15 07:35:12,754 INFO L290 TraceCheckUtils]: 33: Hoare triple {5689#(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); {5693#(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-15 07:35:12,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {5693#(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; {5697#(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-15 07:35:12,756 INFO L272 TraceCheckUtils]: 35: Hoare triple {5697#(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)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:12,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:12,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:35:12,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:35:12,756 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-15 07:35:12,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:13,396 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:35:13,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:35:13,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:35:13,398 INFO L272 TraceCheckUtils]: 35: Hoare triple {5721#(= (+ (* 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)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:35:13,398 INFO L290 TraceCheckUtils]: 34: Hoare triple {5725#(= (+ (* 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; {5721#(= (+ (* 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-15 07:35:13,399 INFO L290 TraceCheckUtils]: 33: Hoare triple {5729#(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); {5725#(= (+ (* 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-15 07:35:13,400 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5733#(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; {5729#(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-15 07:35:13,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:13,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:35:13,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:35:13,401 INFO L272 TraceCheckUtils]: 28: Hoare triple {5733#(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)); {5579#true} is VALID [2022-04-15 07:35:13,402 INFO L290 TraceCheckUtils]: 27: Hoare triple {5750#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5733#(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-15 07:35:13,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {5750#(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; {5750#(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-15 07:35:13,412 INFO L290 TraceCheckUtils]: 25: Hoare triple {5757#(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; {5750#(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-15 07:35:13,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {5761#(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; {5757#(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-15 07:35:13,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5761#(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-15 07:35:13,415 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L272 TraceCheckUtils]: 18: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {5579#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 16: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 15: Hoare triple {5579#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 14: Hoare triple {5579#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; {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5579#true} is VALID [2022-04-15 07:35:13,415 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L272 TraceCheckUtils]: 8: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {5579#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#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; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#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; {5579#true} is VALID [2022-04-15 07:35:13,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:35:13,417 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-15 07:35:13,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:13,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [461478074] [2022-04-15 07:35:13,417 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:13,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33051731] [2022-04-15 07:35:13,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33051731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:13,417 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:13,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 07:35:13,417 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:13,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1876332306] [2022-04-15 07:35:13,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1876332306] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:13,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:13,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:35:13,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1180424750] [2022-04-15 07:35:13,418 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:13,418 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-15 07:35:13,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:13,418 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-15 07:35:13,446 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-15 07:35:13,447 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:35:13,447 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:13,447 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:35:13,447 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:35:13,447 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-15 07:35:14,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:14,206 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:35:14,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:35:14,206 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-15 07:35:14,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:14,207 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-15 07:35:14,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:35:14,207 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-15 07:35:14,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:35:14,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-15 07:35:14,259 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-15 07:35:14,260 INFO L225 Difference]: With dead ends: 97 [2022-04-15 07:35:14,260 INFO L226 Difference]: Without dead ends: 89 [2022-04-15 07:35:14,261 INFO L912 BasicCegarLoop]: 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-15 07:35:14,261 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 20 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 313 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:35:14,262 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 170 Invalid, 313 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:35:14,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-15 07:35:14,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-15 07:35:14,336 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:14,337 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-15 07:35:14,337 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-15 07:35:14,337 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-15 07:35:14,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:14,338 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:35:14,338 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:35:14,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:14,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:14,339 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-15 07:35:14,339 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-15 07:35:14,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:14,340 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:35:14,340 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:35:14,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:14,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:14,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:14,341 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:14,341 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-15 07:35:14,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-15 07:35:14,342 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-15 07:35:14,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:14,342 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-15 07:35:14,342 INFO L479 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-15 07:35:14,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-15 07:35:14,543 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-15 07:35:14,544 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-15 07:35:14,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:35:14,544 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:14,544 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:35:14,561 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 07:35:14,755 WARN L460 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-15 07:35:14,755 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:14,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:14,756 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-15 07:35:14,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:14,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1506524252] [2022-04-15 07:35:14,802 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:14,802 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:14,802 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:14,802 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-15 07:35:14,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:14,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935174498] [2022-04-15 07:35:14,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:14,802 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:14,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:14,815 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1992934664] [2022-04-15 07:35:14,815 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:35:14,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:14,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:14,816 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-15 07:35:14,817 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-15 07:35:14,852 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:35:14,852 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:14,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:35:14,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:14,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:30,788 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:36:19,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:36:19,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#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; {6374#true} is VALID [2022-04-15 07:36:19,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:19,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:36:19,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:36:19,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#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; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,249 INFO L290 TraceCheckUtils]: 6: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,249 INFO L272 TraceCheckUtils]: 8: Hoare triple {6394#(= 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)); {6374#true} is VALID [2022-04-15 07:36:19,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:36:19,249 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:36:19,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:19,250 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,251 INFO L290 TraceCheckUtils]: 16: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,251 INFO L272 TraceCheckUtils]: 18: Hoare triple {6394#(= 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)); {6374#true} is VALID [2022-04-15 07:36:19,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:36:19,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:36:19,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:19,252 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,252 INFO L290 TraceCheckUtils]: 23: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:36:19,254 INFO L290 TraceCheckUtils]: 27: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6461#(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-15 07:36:19,254 INFO L272 TraceCheckUtils]: 28: Hoare triple {6461#(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)); {6374#true} is VALID [2022-04-15 07:36:19,254 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:36:19,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:36:19,254 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:36:19,255 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6461#(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; {6479#(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-15 07:36:19,256 INFO L290 TraceCheckUtils]: 33: Hoare triple {6479#(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); {6479#(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-15 07:36:19,257 INFO L290 TraceCheckUtils]: 34: Hoare triple {6479#(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; {6486#(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-15 07:36:19,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {6486#(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; {6479#(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-15 07:36:19,259 INFO L290 TraceCheckUtils]: 36: Hoare triple {6479#(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; {6479#(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-15 07:36:21,261 WARN L290 TraceCheckUtils]: 37: Hoare triple {6479#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6496#(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-15 07:36:21,264 INFO L272 TraceCheckUtils]: 38: Hoare triple {6496#(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)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:36:21,264 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:36:21,264 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:36:21,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:36:21,265 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-15 07:36:21,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:23,674 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:36:23,675 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:36:23,675 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:36:23,676 INFO L272 TraceCheckUtils]: 38: Hoare triple {6520#(= (+ (* 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)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:36:23,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {6524#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6520#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:36:23,677 INFO L290 TraceCheckUtils]: 36: Hoare triple {6524#(= (+ (* 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; {6524#(= (+ (* 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-15 07:36:23,698 INFO L290 TraceCheckUtils]: 35: Hoare triple {6531#(= (+ (* (* 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; {6524#(= (+ (* 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-15 07:36:23,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {6524#(= (+ (* 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; {6531#(= (+ (* (* 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-15 07:36:23,699 INFO L290 TraceCheckUtils]: 33: Hoare triple {6524#(= (+ (* 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); {6524#(= (+ (* 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-15 07:36:23,700 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6541#(= (+ (* (* 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; {6524#(= (+ (* 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-15 07:36:23,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:36:23,701 INFO L290 TraceCheckUtils]: 30: Hoare triple {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:36:23,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:36:23,701 INFO L272 TraceCheckUtils]: 28: Hoare triple {6541#(= (+ (* (* 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)); {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6541#(= (+ (* (* 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-15 07:36:23,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 24: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:36:23,702 INFO L272 TraceCheckUtils]: 18: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {6374#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 15: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L272 TraceCheckUtils]: 8: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {6374#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#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; {6374#true} is VALID [2022-04-15 07:36:23,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:36:23,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:36:23,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:36:23,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#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; {6374#true} is VALID [2022-04-15 07:36:23,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:36:23,704 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-15 07:36:23,704 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:23,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1935174498] [2022-04-15 07:36:23,704 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:23,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1992934664] [2022-04-15 07:36:23,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1992934664] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:23,704 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:23,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-15 07:36:23,705 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:23,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1506524252] [2022-04-15 07:36:23,705 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1506524252] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:23,705 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:23,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:36:23,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1635516115] [2022-04-15 07:36:23,705 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:23,705 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-15 07:36:23,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:23,706 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-15 07:36:25,733 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-15 07:36:25,733 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:36:25,733 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:25,733 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:36:25,734 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:36:25,734 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-15 07:36:42,141 WARN L232 SmtUtils]: Spent 16.25s 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-15 07:36:44,460 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-15 07:36:46,879 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-15 07:36:51,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:51,136 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-04-15 07:36:51,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:36:51,137 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-15 07:36:51,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:51,137 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-15 07:36:51,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:36:51,137 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-15 07:36:51,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:36:51,138 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-15 07:36:53,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:36:53,179 INFO L225 Difference]: With dead ends: 102 [2022-04-15 07:36:53,180 INFO L226 Difference]: Without dead ends: 97 [2022-04-15 07:36:53,180 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 20.8s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-15 07:36:53,180 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 23 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 8 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:36:53,181 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 66 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 87 Invalid, 2 Unknown, 0 Unchecked, 4.3s Time] [2022-04-15 07:36:53,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-15 07:36:53,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-15 07:36:53,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:53,268 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-15 07:36:53,268 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-15 07:36:53,268 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-15 07:36:53,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:53,269 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:36:53,269 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:36:53,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:53,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:53,270 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-15 07:36:53,270 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-15 07:36:53,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:53,271 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:36:53,271 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:36:53,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:53,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:53,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:53,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:53,272 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-15 07:36:53,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-15 07:36:53,273 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-15 07:36:53,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:53,273 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-15 07:36:53,273 INFO L479 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-15 07:36:53,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-15 07:36:55,533 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-15 07:36:55,533 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-15 07:36:55,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:36:55,533 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:55,533 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:36:55,550 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-15 07:36:55,734 WARN L460 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-15 07:36:55,734 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:55,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:55,734 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-15 07:36:55,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:55,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1843806402] [2022-04-15 07:36:55,813 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:36:55,813 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:36:55,813 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:36:55,813 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-15 07:36:55,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:55,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1542805887] [2022-04-15 07:36:55,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:55,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:55,825 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:55,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [329241730] [2022-04-15 07:36:55,825 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:36:55,825 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:55,825 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:55,826 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-15 07:36:55,830 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-15 07:36:55,870 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:36:55,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:55,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:36:55,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:55,883 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:05,139 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:10,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:37:10,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#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; {7225#true} is VALID [2022-04-15 07:37:10,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:10,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:37:10,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:37:10,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#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; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,152 INFO L290 TraceCheckUtils]: 6: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,153 INFO L272 TraceCheckUtils]: 8: Hoare triple {7245#(= 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)); {7225#true} is VALID [2022-04-15 07:37:10,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:37:10,153 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:37:10,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:10,153 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,155 INFO L272 TraceCheckUtils]: 18: Hoare triple {7245#(= 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)); {7225#true} is VALID [2022-04-15 07:37:10,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:37:10,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:37:10,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:10,155 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,156 INFO L290 TraceCheckUtils]: 23: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:37:10,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7312#(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-15 07:37:10,157 INFO L272 TraceCheckUtils]: 28: Hoare triple {7312#(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)); {7225#true} is VALID [2022-04-15 07:37:10,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:10,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:10,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:10,159 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7312#(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; {7330#(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-15 07:37:10,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {7330#(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); {7330#(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-15 07:37:10,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {7330#(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; {7337#(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-15 07:37:10,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#(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; {7341#(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-15 07:37:10,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {7341#(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; {7341#(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-15 07:37:12,164 WARN L290 TraceCheckUtils]: 37: Hoare triple {7341#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7348#(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-15 07:37:12,167 INFO L272 TraceCheckUtils]: 38: Hoare triple {7348#(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)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:12,167 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:12,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:37:12,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:37:12,168 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-15 07:37:12,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:37:20,032 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:37:20,032 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:37:20,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:20,033 INFO L272 TraceCheckUtils]: 38: Hoare triple {7372#(= (+ (* 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)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:20,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {7376#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7372#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:37:20,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {7376#(= (+ (* 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; {7376#(= (+ (* 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-15 07:37:20,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {7383#(= (+ (* (* 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; {7376#(= (+ (* 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-15 07:37:20,040 INFO L290 TraceCheckUtils]: 34: Hoare triple {7376#(= (+ (* 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; {7383#(= (+ (* (* 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-15 07:37:20,041 INFO L290 TraceCheckUtils]: 33: Hoare triple {7376#(= (+ (* 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); {7376#(= (+ (* 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-15 07:37:20,042 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7393#(= (+ (* (* 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; {7376#(= (+ (* 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-15 07:37:20,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:20,043 INFO L290 TraceCheckUtils]: 30: Hoare triple {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:20,043 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:37:20,043 INFO L272 TraceCheckUtils]: 28: Hoare triple {7393#(= (+ (* (* 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)); {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {7225#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7393#(= (+ (* (* 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-15 07:37:20,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:37:20,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L272 TraceCheckUtils]: 18: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 17: Hoare triple {7225#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L272 TraceCheckUtils]: 8: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {7225#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 6: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#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; {7225#true} is VALID [2022-04-15 07:37:20,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:37:20,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:37:20,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:37:20,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#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; {7225#true} is VALID [2022-04-15 07:37:20,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:37:20,046 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-15 07:37:20,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:20,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1542805887] [2022-04-15 07:37:20,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:37:20,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [329241730] [2022-04-15 07:37:20,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [329241730] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:37:20,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:37:20,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-15 07:37:20,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:20,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1843806402] [2022-04-15 07:37:20,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1843806402] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:20,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:20,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:37:20,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282012054] [2022-04-15 07:37:20,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:20,047 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-15 07:37:20,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:20,048 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-15 07:37:22,106 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-15 07:37:22,107 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:37:22,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:22,107 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:37:22,107 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:37:22,107 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-15 07:37:24,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:24,444 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-15 07:37:24,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:37:24,445 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-15 07:37:24,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:24,445 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-15 07:37:24,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:37:24,446 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-15 07:37:24,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:37:24,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-15 07:37:26,499 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-15 07:37:26,501 INFO L225 Difference]: With dead ends: 103 [2022-04-15 07:37:26,501 INFO L226 Difference]: Without dead ends: 101 [2022-04-15 07:37:26,501 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:37:26,501 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 21 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:26,502 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 113 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:37:26,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-15 07:37:26,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-15 07:37:26,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:26,589 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-15 07:37:26,589 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-15 07:37:26,589 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-15 07:37:26,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:26,590 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:37:26,590 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:37:26,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:26,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:26,591 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-15 07:37:26,591 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-15 07:37:26,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:26,592 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:37:26,592 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:37:26,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:26,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:26,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:26,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:26,593 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-15 07:37:26,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-15 07:37:26,594 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-15 07:37:26,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:26,594 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-15 07:37:26,595 INFO L479 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-15 07:37:26,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-15 07:37:30,835 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-15 07:37:30,835 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-15 07:37:30,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:37:30,835 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:30,835 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:37:30,852 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-15 07:37:31,036 WARN L460 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-15 07:37:31,036 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:31,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:31,037 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-15 07:37:31,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:31,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [507915175] [2022-04-15 07:37:31,114 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:37:31,114 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:37:31,114 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:37:31,114 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-15 07:37:31,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:31,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1956834329] [2022-04-15 07:37:31,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:31,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:31,122 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:31,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [844889448] [2022-04-15 07:37:31,123 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:37:31,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:31,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:31,124 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-15 07:37:31,125 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-15 07:37:31,171 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:37:31,171 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:31,172 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 07:37:31,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:31,185 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:31,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:37:31,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#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; {8105#true} is VALID [2022-04-15 07:37:31,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:37:31,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:37:31,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:37:31,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#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; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:31,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {8125#(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; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:31,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:31,798 INFO L272 TraceCheckUtils]: 8: Hoare triple {8125#(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)); {8105#true} is VALID [2022-04-15 07:37:31,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:37:31,798 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:37:31,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:37:31,799 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:31,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:31,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {8125#(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; {8153#(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-15 07:37:31,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {8153#(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; {8157#(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-15 07:37:31,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {8157#(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; {8157#(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-15 07:37:31,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8164#(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-15 07:37:31,802 INFO L272 TraceCheckUtils]: 18: Hoare triple {8164#(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)); {8105#true} is VALID [2022-04-15 07:37:31,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:31,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:31,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:31,803 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8164#(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; {8157#(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-15 07:37:31,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {8157#(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); {8157#(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-15 07:37:31,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {8157#(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; {8188#(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-15 07:37:31,805 INFO L290 TraceCheckUtils]: 25: Hoare triple {8188#(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; {8192#(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-15 07:37:31,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {8192#(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; {8192#(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-15 07:37:31,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {8192#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8199#(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-15 07:37:31,806 INFO L272 TraceCheckUtils]: 28: Hoare triple {8199#(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)); {8105#true} is VALID [2022-04-15 07:37:31,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:31,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:31,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:31,807 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8199#(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; {8192#(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-15 07:37:31,807 INFO L290 TraceCheckUtils]: 33: Hoare triple {8192#(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); {8218#(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-15 07:37:31,808 INFO L290 TraceCheckUtils]: 34: Hoare triple {8218#(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; {8222#(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-15 07:37:31,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {8222#(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; {8226#(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-15 07:37:31,809 INFO L290 TraceCheckUtils]: 36: Hoare triple {8226#(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; {8226#(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-15 07:37:31,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {8226#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#(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-15 07:37:31,811 INFO L272 TraceCheckUtils]: 38: Hoare triple {8233#(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)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:31,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:31,811 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:37:31,811 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:37:31,812 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-15 07:37:31,812 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:37:33,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:37:33,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:37:33,638 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:33,638 INFO L272 TraceCheckUtils]: 38: Hoare triple {8257#(= (+ (* 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)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:33,639 INFO L290 TraceCheckUtils]: 37: Hoare triple {8261#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8257#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:37:33,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {8261#(= (+ (* 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; {8261#(= (+ (* 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-15 07:37:33,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {8268#(= (+ (* (* 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; {8261#(= (+ (* 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-15 07:37:33,643 INFO L290 TraceCheckUtils]: 34: Hoare triple {8272#(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; {8268#(= (+ (* (* 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-15 07:37:33,644 INFO L290 TraceCheckUtils]: 33: Hoare triple {8276#(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); {8272#(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-15 07:37:33,645 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8280#(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; {8276#(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-15 07:37:33,645 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:33,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:33,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:37:33,646 INFO L272 TraceCheckUtils]: 28: Hoare triple {8280#(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)); {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {8105#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8280#(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-15 07:37:33,647 INFO L290 TraceCheckUtils]: 26: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 24: Hoare triple {8105#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 21: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L272 TraceCheckUtils]: 18: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {8105#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-15 07:37:33,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 15: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {8105#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; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L272 TraceCheckUtils]: 8: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {8105#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 6: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#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; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:37:33,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:37:33,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#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; {8105#true} is VALID [2022-04-15 07:37:33,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:37:33,649 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-15 07:37:33,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:33,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1956834329] [2022-04-15 07:37:33,649 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:37:33,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [844889448] [2022-04-15 07:37:33,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [844889448] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:37:33,649 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:37:33,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-15 07:37:33,650 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:33,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [507915175] [2022-04-15 07:37:33,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [507915175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:33,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:33,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:37:33,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436338649] [2022-04-15 07:37:33,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:33,650 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-15 07:37:33,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:33,651 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-15 07:37:33,690 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-15 07:37:33,691 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:37:33,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:33,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:37:33,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:37:33,692 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-15 07:37:35,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:35,417 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-15 07:37:35,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:37:35,417 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-15 07:37:35,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:35,418 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-15 07:37:35,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:37:35,420 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-15 07:37:35,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:37:35,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-15 07:37:35,482 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-15 07:37:35,483 INFO L225 Difference]: With dead ends: 113 [2022-04-15 07:37:35,483 INFO L226 Difference]: Without dead ends: 111 [2022-04-15 07:37:35,485 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=124, Invalid=632, Unknown=0, NotChecked=0, Total=756 [2022-04-15 07:37:35,485 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 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, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:35,486 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 239 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 532 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:37:35,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-15 07:37:35,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-15 07:37:35,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:35,574 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-15 07:37:35,574 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-15 07:37:35,574 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-15 07:37:35,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:35,576 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:37:35,576 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:37:35,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:35,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:35,576 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-15 07:37:35,576 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-15 07:37:35,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:35,578 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:37:35,578 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:37:35,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:35,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:35,578 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:35,578 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:35,578 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-15 07:37:35,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-15 07:37:35,580 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-15 07:37:35,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:35,580 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-15 07:37:35,580 INFO L479 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-15 07:37:35,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-15 07:37:39,872 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-15 07:37:39,873 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-15 07:37:39,873 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:37:39,873 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:39,873 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:37:39,890 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-15 07:37:40,075 WARN L460 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-15 07:37:40,075 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:40,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:40,076 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-15 07:37:40,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:40,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2009664339] [2022-04-15 07:37:40,151 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:37:40,152 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:37:40,152 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:37:40,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-15 07:37:40,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:40,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1573376885] [2022-04-15 07:37:40,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:40,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:40,167 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:40,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1906917320] [2022-04-15 07:37:40,168 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:37:40,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:40,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:40,169 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-15 07:37:40,169 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-15 07:37:40,214 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:37:40,215 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:40,216 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:37:40,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:40,225 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:02,763 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:38:15,142 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:38:15,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#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; {9048#true} is VALID [2022-04-15 07:38:15,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:15,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:38:15,142 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:38:15,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#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; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,143 INFO L290 TraceCheckUtils]: 6: Hoare triple {9068#(= main_~x~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {9068#(= main_~x~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,143 INFO L272 TraceCheckUtils]: 8: Hoare triple {9068#(= 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)); {9048#true} is VALID [2022-04-15 07:38:15,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:38:15,143 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:38:15,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:15,144 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9068#(= main_~x~0 0)} #58#return; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {9068#(= main_~x~0 0)} assume !!(~x~0 <= ~X~0); {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {9068#(= 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; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:38:15,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {9068#(= main_~x~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {9099#(= main_~x~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,145 INFO L290 TraceCheckUtils]: 17: Hoare triple {9099#(= main_~x~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,145 INFO L272 TraceCheckUtils]: 18: Hoare triple {9099#(= 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)); {9048#true} is VALID [2022-04-15 07:38:15,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:38:15,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:38:15,146 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:15,146 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9099#(= main_~x~0 1)} #58#return; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {9099#(= main_~x~0 1)} assume !!(~x~0 <= ~X~0); {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {9099#(= 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; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:38:15,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {9099#(= main_~x~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9130#(= main_~x~0 2)} is VALID [2022-04-15 07:38:15,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {9130#(= main_~x~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9130#(= main_~x~0 2)} is VALID [2022-04-15 07:38:15,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {9130#(= main_~x~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9137#(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-15 07:38:15,148 INFO L272 TraceCheckUtils]: 28: Hoare triple {9137#(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)); {9048#true} is VALID [2022-04-15 07:38:15,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:15,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:15,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:15,150 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9137#(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; {9155#(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-15 07:38:15,150 INFO L290 TraceCheckUtils]: 33: Hoare triple {9155#(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); {9155#(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-15 07:38:15,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {9155#(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; {9162#(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-15 07:38:15,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {9162#(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; {9166#(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-15 07:38:15,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#(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; {9166#(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-15 07:38:17,154 WARN L290 TraceCheckUtils]: 37: Hoare triple {9166#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9173#(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-15 07:38:17,156 INFO L272 TraceCheckUtils]: 38: Hoare triple {9173#(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)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:17,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:17,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:38:17,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:38:17,157 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-15 07:38:17,157 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:17,704 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:38:17,704 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:38:17,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:17,705 INFO L272 TraceCheckUtils]: 38: Hoare triple {9197#(= (+ (* 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)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:17,706 INFO L290 TraceCheckUtils]: 37: Hoare triple {9201#(= (+ (* 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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9197#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:38:17,707 INFO L290 TraceCheckUtils]: 36: Hoare triple {9201#(= (+ (* 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; {9201#(= (+ (* 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-15 07:38:17,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {9208#(= (+ (* (* 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; {9201#(= (+ (* 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-15 07:38:17,709 INFO L290 TraceCheckUtils]: 34: Hoare triple {9201#(= (+ (* 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; {9208#(= (+ (* (* 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-15 07:38:17,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {9201#(= (+ (* 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); {9201#(= (+ (* 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-15 07:38:17,710 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9218#(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; {9201#(= (+ (* 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-15 07:38:17,710 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:17,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:17,711 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:38:17,711 INFO L272 TraceCheckUtils]: 28: Hoare triple {9218#(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)); {9048#true} is VALID [2022-04-15 07:38:17,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {9048#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9218#(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-15 07:38:17,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:38:17,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-15 07:38:17,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {9048#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; {9048#true} is VALID [2022-04-15 07:38:17,712 INFO L290 TraceCheckUtils]: 23: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:38:17,712 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L272 TraceCheckUtils]: 18: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {9048#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 16: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 15: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {9048#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; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:38:17,713 INFO L272 TraceCheckUtils]: 8: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {9048#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#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; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#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; {9048#true} is VALID [2022-04-15 07:38:17,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:38:17,714 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-15 07:38:17,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:17,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1573376885] [2022-04-15 07:38:17,715 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:17,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1906917320] [2022-04-15 07:38:17,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1906917320] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:17,715 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:17,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 07:38:17,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:17,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2009664339] [2022-04-15 07:38:17,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2009664339] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:17,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:17,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:38:17,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [292758534] [2022-04-15 07:38:17,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:17,716 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-15 07:38:17,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:17,716 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-15 07:38:19,761 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-15 07:38:19,761 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:38:19,761 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:19,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:38:19,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:38:19,762 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-15 07:38:40,486 WARN L232 SmtUtils]: Spent 17.72s 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-15 07:38:43,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:43,843 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-15 07:38:43,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:38:43,843 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-15 07:38:43,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:43,843 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-15 07:38:43,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:38:43,844 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-15 07:38:43,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:38:43,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 07:38:45,916 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-15 07:38:45,918 INFO L225 Difference]: With dead ends: 150 [2022-04-15 07:38:45,918 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 07:38:45,918 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 18.4s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:38:45,919 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 22 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 331 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 331 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:45,919 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 184 Invalid, 338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 331 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:38:45,919 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 07:38:46,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-15 07:38:46,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:46,011 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-15 07:38:46,011 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-15 07:38:46,011 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-15 07:38:46,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:46,014 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:38:46,015 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:38:46,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:46,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:46,015 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-15 07:38:46,015 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-15 07:38:46,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:46,017 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:38:46,017 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:38:46,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:46,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:46,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:46,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:46,018 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-15 07:38:46,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-15 07:38:46,019 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-15 07:38:46,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:46,020 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-15 07:38:46,020 INFO L479 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-15 07:38:46,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-15 07:38:52,291 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-15 07:38:52,292 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-15 07:38:52,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 07:38:52,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:52,292 INFO L499 BasicCegarLoop]: 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-15 07:38:52,310 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-15 07:38:52,503 WARN L460 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-15 07:38:52,503 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:52,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:52,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-15 07:38:52,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:52,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1262921468] [2022-04-15 07:38:52,594 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:38:52,594 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:38:52,594 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:38:52,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-15 07:38:52,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:52,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332871683] [2022-04-15 07:38:52,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:52,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:52,602 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:52,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [764317683] [2022-04-15 07:38:52,602 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:38:52,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:52,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:52,603 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-15 07:38:52,604 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-15 07:38:52,646 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:38:52,646 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:52,647 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 07:38:52,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:52,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:52,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:38:52,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#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; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:38:52,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {10146#(<= ~counter~0 0)} assume true; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:38:52,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10146#(<= ~counter~0 0)} {10138#true} #62#return; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:38:52,840 INFO L272 TraceCheckUtils]: 4: Hoare triple {10146#(<= ~counter~0 0)} call #t~ret9 := main(); {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:38:52,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {10146#(<= ~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; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:38:52,842 INFO L290 TraceCheckUtils]: 6: Hoare triple {10146#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,842 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,842 INFO L272 TraceCheckUtils]: 8: Hoare triple {10162#(<= ~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)); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,843 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= ~counter~0 1)} ~cond := #in~cond; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,843 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= ~counter~0 1)} assume !(0 == ~cond); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,843 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= ~counter~0 1)} assume true; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,844 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10162#(<= ~counter~0 1)} {10162#(<= ~counter~0 1)} #58#return; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {10162#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,844 INFO L290 TraceCheckUtils]: 15: Hoare triple {10162#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:38:52,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {10162#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {10193#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,850 INFO L272 TraceCheckUtils]: 18: Hoare triple {10193#(<= ~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)); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {10193#(<= ~counter~0 2)} ~cond := #in~cond; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {10193#(<= ~counter~0 2)} assume !(0 == ~cond); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {10193#(<= ~counter~0 2)} assume true; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,851 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10193#(<= ~counter~0 2)} {10193#(<= ~counter~0 2)} #58#return; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {10193#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,851 INFO L290 TraceCheckUtils]: 24: Hoare triple {10193#(<= ~counter~0 2)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {10193#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:38:52,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {10193#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {10224#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,853 INFO L272 TraceCheckUtils]: 28: Hoare triple {10224#(<= ~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)); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#(<= ~counter~0 3)} ~cond := #in~cond; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#(<= ~counter~0 3)} assume !(0 == ~cond); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#(<= ~counter~0 3)} assume true; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,855 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#(<= ~counter~0 3)} {10224#(<= ~counter~0 3)} #58#return; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {10224#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,855 INFO L290 TraceCheckUtils]: 34: Hoare triple {10224#(<= ~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; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {10224#(<= ~counter~0 3)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {10224#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10255#(<= |main_#t~post6| 3)} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 37: Hoare triple {10255#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-15 07:38:52,856 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#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)); {10139#false} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:38:52,856 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:38:52,857 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-15 07:38:52,857 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:53,090 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#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)); {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L290 TraceCheckUtils]: 37: Hoare triple {10289#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:38:53,091 INFO L290 TraceCheckUtils]: 36: Hoare triple {10293#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10289#(< |main_#t~post6| 50)} is VALID [2022-04-15 07:38:53,092 INFO L290 TraceCheckUtils]: 35: Hoare triple {10293#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {10293#(< ~counter~0 50)} 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; {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {10293#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,093 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10138#true} {10293#(< ~counter~0 50)} #58#return; {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:38:53,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:38:53,093 INFO L290 TraceCheckUtils]: 29: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:38:53,093 INFO L272 TraceCheckUtils]: 28: Hoare triple {10293#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-15 07:38:53,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {10293#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {10324#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(< ~counter~0 50)} is VALID [2022-04-15 07:38:53,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {10324#(< ~counter~0 49)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {10324#(< ~counter~0 49)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {10324#(< ~counter~0 49)} assume !!(~x~0 <= ~X~0); {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,096 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10138#true} {10324#(< ~counter~0 49)} #58#return; {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:38:53,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:38:53,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:38:53,097 INFO L272 TraceCheckUtils]: 18: Hoare triple {10324#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-15 07:38:53,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {10324#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {10355#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10324#(< ~counter~0 49)} is VALID [2022-04-15 07:38:53,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {10355#(< ~counter~0 48)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {10355#(< ~counter~0 48)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#(< ~counter~0 48)} assume !!(~x~0 <= ~X~0); {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,099 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10138#true} {10355#(< ~counter~0 48)} #58#return; {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:38:53,099 INFO L290 TraceCheckUtils]: 10: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:38:53,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:38:53,099 INFO L272 TraceCheckUtils]: 8: Hoare triple {10355#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-15 07:38:53,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,100 INFO L290 TraceCheckUtils]: 6: Hoare triple {10386#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10355#(< ~counter~0 48)} is VALID [2022-04-15 07:38:53,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {10386#(< ~counter~0 47)} 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; {10386#(< ~counter~0 47)} is VALID [2022-04-15 07:38:53,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {10386#(< ~counter~0 47)} call #t~ret9 := main(); {10386#(< ~counter~0 47)} is VALID [2022-04-15 07:38:53,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10386#(< ~counter~0 47)} {10138#true} #62#return; {10386#(< ~counter~0 47)} is VALID [2022-04-15 07:38:53,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {10386#(< ~counter~0 47)} assume true; {10386#(< ~counter~0 47)} is VALID [2022-04-15 07:38:53,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#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; {10386#(< ~counter~0 47)} is VALID [2022-04-15 07:38:53,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:38:53,102 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-15 07:38:53,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:53,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1332871683] [2022-04-15 07:38:53,102 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:53,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764317683] [2022-04-15 07:38:53,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764317683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:53,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:53,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 07:38:53,103 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:53,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1262921468] [2022-04-15 07:38:53,103 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1262921468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:53,103 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:53,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:38:53,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2036753420] [2022-04-15 07:38:53,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:53,103 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-15 07:38:53,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:53,103 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-15 07:38:53,134 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-15 07:38:53,135 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:38:53,135 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:53,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:38:53,135 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:38:53,135 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-15 07:38:53,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:53,415 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 07:38:53,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:38:53,415 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-15 07:38:53,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:53,415 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-15 07:38:53,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:38:53,416 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-15 07:38:53,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:38:53,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-15 07:38:53,468 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-15 07:38:53,469 INFO L225 Difference]: With dead ends: 131 [2022-04-15 07:38:53,469 INFO L226 Difference]: Without dead ends: 123 [2022-04-15 07:38:53,470 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-15 07:38:53,470 INFO L913 BasicCegarLoop]: 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-15 07:38:53,470 INFO L914 BasicCegarLoop]: 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-15 07:38:53,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-15 07:38:53,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-15 07:38:53,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:53,591 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-15 07:38:53,591 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-15 07:38:53,591 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-15 07:38:53,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:53,593 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:38:53,593 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:38:53,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:53,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:53,593 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-15 07:38:53,593 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-15 07:38:53,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:53,595 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:38:53,595 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:38:53,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:53,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:53,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:53,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:53,595 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-15 07:38:53,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-15 07:38:53,597 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-15 07:38:53,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:53,597 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-15 07:38:53,597 INFO L479 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-15 07:38:53,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-15 07:39:04,369 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-15 07:39:04,369 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-15 07:39:04,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:39:04,370 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:04,370 INFO L499 BasicCegarLoop]: 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-15 07:39:04,386 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-15 07:39:04,570 WARN L460 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-15 07:39:04,570 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:04,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:04,571 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-15 07:39:04,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:04,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2101849365] [2022-04-15 07:39:04,649 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:39:04,649 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:39:04,649 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:39:04,649 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-15 07:39:04,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:04,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [133765820] [2022-04-15 07:39:04,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:04,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:04,657 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:04,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [315821791] [2022-04-15 07:39:04,658 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:39:04,658 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:04,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:04,659 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-15 07:39:04,659 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-15 07:39:04,699 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:39:04,699 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:04,700 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 07:39:04,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:04,711 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:39:05,673 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:39:05,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#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; {11161#true} is VALID [2022-04-15 07:39:05,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:05,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:39:05,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:39:05,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#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; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:39:05,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:39:05,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:39:05,682 INFO L272 TraceCheckUtils]: 8: Hoare triple {11181#(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)); {11161#true} is VALID [2022-04-15 07:39:05,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:05,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:05,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:05,682 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:39:05,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:39:05,683 INFO L290 TraceCheckUtils]: 14: Hoare triple {11181#(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; {11209#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-15 07:39:05,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {11209#(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; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:39:05,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:39:05,685 INFO L290 TraceCheckUtils]: 17: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:39:05,685 INFO L272 TraceCheckUtils]: 18: Hoare triple {11213#(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)); {11161#true} is VALID [2022-04-15 07:39:05,685 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:05,685 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:05,685 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:05,686 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #58#return; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:39:05,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:39:05,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {11213#(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; {11241#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-15 07:39:05,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {11241#(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; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {11245#(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; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,689 INFO L272 TraceCheckUtils]: 28: Hoare triple {11245#(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)); {11161#true} is VALID [2022-04-15 07:39:05,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:05,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:05,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:05,690 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #58#return; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,690 INFO L290 TraceCheckUtils]: 33: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,691 INFO L290 TraceCheckUtils]: 34: Hoare triple {11245#(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; {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 07:39:05,692 INFO L290 TraceCheckUtils]: 35: Hoare triple {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:39:05,692 INFO L290 TraceCheckUtils]: 36: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:39:05,692 INFO L290 TraceCheckUtils]: 37: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:39:05,693 INFO L272 TraceCheckUtils]: 38: Hoare triple {11277#(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)); {11161#true} is VALID [2022-04-15 07:39:05,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:05,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:05,693 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:05,693 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #58#return; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:39:05,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-15 07:39:05,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-15 07:39:05,694 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#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)); {11162#false} is VALID [2022-04-15 07:39:05,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:39:05,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:39:05,694 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:39:05,694 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-15 07:39:05,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:06,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:39:06,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:39:06,123 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:39:06,123 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#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)); {11162#false} is VALID [2022-04-15 07:39:06,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-15 07:39:06,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-15 07:39:06,124 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11332#(<= main_~x~0 main_~X~0)} #58#return; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:06,124 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:06,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:06,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:06,124 INFO L272 TraceCheckUtils]: 38: Hoare triple {11332#(<= 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)); {11161#true} is VALID [2022-04-15 07:39:06,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:06,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {11332#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:06,140 INFO L290 TraceCheckUtils]: 35: Hoare triple {11357#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:06,141 INFO L290 TraceCheckUtils]: 34: Hoare triple {11361#(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; {11357#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:06,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:39:06,142 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:39:06,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:06,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:06,142 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:06,142 INFO L272 TraceCheckUtils]: 28: Hoare triple {11361#(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)); {11161#true} is VALID [2022-04-15 07:39:06,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:39:06,143 INFO L290 TraceCheckUtils]: 26: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:39:06,144 INFO L290 TraceCheckUtils]: 25: Hoare triple {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:39:06,144 INFO L290 TraceCheckUtils]: 24: Hoare triple {11393#(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; {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:06,145 INFO L290 TraceCheckUtils]: 23: Hoare triple {11393#(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); {11393#(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-15 07:39:06,145 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #58#return; {11393#(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-15 07:39:06,145 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:06,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:06,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:06,146 INFO L272 TraceCheckUtils]: 18: Hoare triple {11393#(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)); {11161#true} is VALID [2022-04-15 07:39:06,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11393#(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-15 07:39:06,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {11393#(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; {11393#(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-15 07:39:06,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {11421#(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; {11393#(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-15 07:39:06,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {11425#(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; {11421#(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-15 07:39:06,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {11425#(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); {11425#(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-15 07:39:06,149 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #58#return; {11425#(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-15 07:39:06,149 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:06,149 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:39:06,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:39:06,150 INFO L272 TraceCheckUtils]: 8: Hoare triple {11425#(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)); {11161#true} is VALID [2022-04-15 07:39:06,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11425#(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-15 07:39:06,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {11425#(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; {11425#(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-15 07:39:06,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#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; {11425#(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-15 07:39:06,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:39:06,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:39:06,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:39:06,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#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; {11161#true} is VALID [2022-04-15 07:39:06,152 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:39:06,152 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-15 07:39:06,152 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:06,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [133765820] [2022-04-15 07:39:06,152 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:06,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [315821791] [2022-04-15 07:39:06,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [315821791] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:39:06,152 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:39:06,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-15 07:39:06,153 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:06,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2101849365] [2022-04-15 07:39:06,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2101849365] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:06,153 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:06,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:39:06,153 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097414820] [2022-04-15 07:39:06,153 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:06,153 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-15 07:39:06,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:06,153 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-15 07:39:06,186 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-15 07:39:06,186 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:39:06,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:06,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:39:06,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:39:06,187 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-15 07:39:06,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:06,886 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-15 07:39:06,886 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:39:06,886 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-15 07:39:06,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:06,886 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-15 07:39:06,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:39:06,887 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-15 07:39:06,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:39:06,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-15 07:39:06,938 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-15 07:39:06,940 INFO L225 Difference]: With dead ends: 136 [2022-04-15 07:39:06,940 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 07:39:06,940 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:39:06,941 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:06,941 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 123 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:39:06,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 07:39:07,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-15 07:39:07,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:07,081 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-15 07:39:07,081 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-15 07:39:07,081 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-15 07:39:07,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:07,083 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:39:07,083 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:39:07,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:07,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:07,083 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-15 07:39:07,084 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-15 07:39:07,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:07,085 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:39:07,085 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:39:07,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:07,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:07,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:07,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:07,086 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-15 07:39:07,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-15 07:39:07,087 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-15 07:39:07,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:07,087 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-15 07:39:07,088 INFO L479 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-15 07:39:07,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-15 07:39:20,246 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-15 07:39:20,246 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-15 07:39:20,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:39:20,246 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:20,246 INFO L499 BasicCegarLoop]: 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-15 07:39:20,262 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 07:39:20,447 WARN L460 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-15 07:39:20,447 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:20,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:20,448 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-15 07:39:20,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:20,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1341628000] [2022-04-15 07:39:20,530 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:39:20,531 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:39:20,531 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:39:20,531 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-15 07:39:20,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:20,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1013205321] [2022-04-15 07:39:20,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:20,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:20,538 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:20,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [558949240] [2022-04-15 07:39:20,539 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:39:20,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:20,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:20,540 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-15 07:39:20,540 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-15 07:39:20,588 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:39:20,588 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:20,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 07:39:20,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:20,598 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:39:21,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:39:21,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#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; {12248#true} is VALID [2022-04-15 07:39:21,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:21,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:39:21,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:39:21,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#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; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:39:21,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {12268#(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; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:39:21,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:39:21,947 INFO L272 TraceCheckUtils]: 8: Hoare triple {12268#(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)); {12248#true} is VALID [2022-04-15 07:39:21,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:21,947 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:21,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:21,948 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:39:21,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:39:21,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {12268#(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; {12296#(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-15 07:39:21,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {12296#(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; {12300#(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-15 07:39:21,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {12300#(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; {12300#(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-15 07:39:21,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {12300#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12300#(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-15 07:39:21,951 INFO L272 TraceCheckUtils]: 18: Hoare triple {12300#(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)); {12248#true} is VALID [2022-04-15 07:39:21,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:21,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:21,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:21,952 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #58#return; {12300#(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-15 07:39:21,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {12300#(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); {12300#(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-15 07:39:21,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {12300#(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; {12328#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {12328#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {12332#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,954 INFO L272 TraceCheckUtils]: 28: Hoare triple {12332#(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)); {12248#true} is VALID [2022-04-15 07:39:21,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:21,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:21,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:21,955 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,955 INFO L290 TraceCheckUtils]: 33: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,956 INFO L290 TraceCheckUtils]: 34: Hoare triple {12332#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,956 INFO L290 TraceCheckUtils]: 35: Hoare triple {12332#(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; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {12363#(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; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,957 INFO L272 TraceCheckUtils]: 38: Hoare triple {12363#(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)); {12248#true} is VALID [2022-04-15 07:39:21,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:21,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:21,957 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:21,958 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:39:21,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-15 07:39:21,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-15 07:39:21,959 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#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)); {12249#false} is VALID [2022-04-15 07:39:21,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:39:21,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:39:21,959 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:39:21,959 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-15 07:39:21,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:22,313 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:39:22,313 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:39:22,313 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:39:22,313 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#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)); {12249#false} is VALID [2022-04-15 07:39:22,313 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-15 07:39:22,313 INFO L290 TraceCheckUtils]: 43: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-15 07:39:22,314 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12418#(<= main_~x~0 main_~X~0)} #58#return; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:22,314 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:22,314 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:22,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:22,314 INFO L272 TraceCheckUtils]: 38: Hoare triple {12418#(<= 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)); {12248#true} is VALID [2022-04-15 07:39:22,315 INFO L290 TraceCheckUtils]: 37: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:22,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {12418#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:22,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:39:22,317 INFO L290 TraceCheckUtils]: 34: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,317 INFO L290 TraceCheckUtils]: 33: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,317 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12443#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,318 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:22,318 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:22,318 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:22,318 INFO L272 TraceCheckUtils]: 28: Hoare triple {12443#(<= (+ 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)); {12248#true} is VALID [2022-04-15 07:39:22,318 INFO L290 TraceCheckUtils]: 27: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,318 INFO L290 TraceCheckUtils]: 26: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,319 INFO L290 TraceCheckUtils]: 25: Hoare triple {12474#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:39:22,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {12478#(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; {12474#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-15 07:39:22,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:22,321 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:22,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:22,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:22,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:22,321 INFO L272 TraceCheckUtils]: 18: Hoare triple {12478#(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)); {12248#true} is VALID [2022-04-15 07:39:22,321 INFO L290 TraceCheckUtils]: 17: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:22,322 INFO L290 TraceCheckUtils]: 16: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:22,322 INFO L290 TraceCheckUtils]: 15: Hoare triple {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:39:22,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {12510#(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; {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:39:22,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {12510#(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); {12510#(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-15 07:39:22,324 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {12510#(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-15 07:39:22,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:22,324 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:39:22,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:39:22,325 INFO L272 TraceCheckUtils]: 8: Hoare triple {12510#(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)); {12248#true} is VALID [2022-04-15 07:39:22,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12510#(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-15 07:39:22,325 INFO L290 TraceCheckUtils]: 6: Hoare triple {12510#(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; {12510#(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-15 07:39:22,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#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; {12510#(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-15 07:39:22,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:39:22,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:39:22,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:39:22,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#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; {12248#true} is VALID [2022-04-15 07:39:22,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:39:22,327 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-15 07:39:22,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:22,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1013205321] [2022-04-15 07:39:22,327 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:22,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558949240] [2022-04-15 07:39:22,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558949240] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:39:22,327 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:39:22,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 07:39:22,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:22,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1341628000] [2022-04-15 07:39:22,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1341628000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:22,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:22,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:39:22,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1922543851] [2022-04-15 07:39:22,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:22,328 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-15 07:39:22,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:22,328 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-15 07:39:22,385 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-15 07:39:22,386 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:39:22,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:22,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:39:22,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:39:22,386 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-15 07:39:23,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:23,099 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-15 07:39:23,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:39:23,099 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-15 07:39:23,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:23,099 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-15 07:39:23,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:39:23,100 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-15 07:39:23,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:39:23,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-15 07:39:23,229 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-15 07:39:23,231 INFO L225 Difference]: With dead ends: 138 [2022-04-15 07:39:23,231 INFO L226 Difference]: Without dead ends: 130 [2022-04-15 07:39:23,231 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:39:23,231 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:23,231 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 126 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:39:23,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-15 07:39:23,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-15 07:39:23,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:23,381 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-15 07:39:23,381 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-15 07:39:23,381 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-15 07:39:23,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:23,383 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:39:23,383 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:39:23,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:23,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:23,384 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-15 07:39:23,384 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-15 07:39:23,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:23,385 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:39:23,386 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:39:23,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:23,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:23,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:23,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:23,386 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-15 07:39:23,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-15 07:39:23,388 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-15 07:39:23,388 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:23,388 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-15 07:39:23,388 INFO L479 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-15 07:39:23,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-15 07:39:34,586 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-15 07:39:34,586 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-15 07:39:34,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:39:34,586 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:34,586 INFO L499 BasicCegarLoop]: 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-15 07:39:34,603 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-15 07:39:34,795 WARN L460 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-15 07:39:34,795 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:34,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:34,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-15 07:39:34,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:34,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1599765930] [2022-04-15 07:39:34,871 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:39:34,871 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:39:34,871 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:39:34,871 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-15 07:39:34,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:34,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740483339] [2022-04-15 07:39:34,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:34,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:34,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:34,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1802302918] [2022-04-15 07:39:34,880 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:39:34,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:34,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:34,880 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-15 07:39:34,899 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-15 07:39:34,945 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:39:34,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:34,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 07:39:34,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:34,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:39:45,181 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:51,426 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:55,466 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:11,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {13335#true} call ULTIMATE.init(); {13335#true} is VALID [2022-04-15 07:40:11,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {13335#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; {13335#true} is VALID [2022-04-15 07:40:11,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:40:11,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13335#true} {13335#true} #62#return; {13335#true} is VALID [2022-04-15 07:40:11,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {13335#true} call #t~ret9 := main(); {13335#true} is VALID [2022-04-15 07:40:11,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {13335#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; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:11,422 INFO L290 TraceCheckUtils]: 6: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:11,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:11,422 INFO L272 TraceCheckUtils]: 8: Hoare triple {13355#(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)); {13335#true} is VALID [2022-04-15 07:40:11,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:40:11,422 INFO L290 TraceCheckUtils]: 10: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:40:11,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:40:11,423 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13335#true} {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #58#return; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:11,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13380#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:11,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {13380#(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; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,425 INFO L290 TraceCheckUtils]: 17: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,426 INFO L272 TraceCheckUtils]: 18: Hoare triple {13384#(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)); {13335#true} is VALID [2022-04-15 07:40:11,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:40:11,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:40:11,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:40:11,426 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,429 INFO L272 TraceCheckUtils]: 28: Hoare triple {13384#(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)); {13335#true} is VALID [2022-04-15 07:40:11,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:40:11,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:40:11,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:40:11,429 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,430 INFO L290 TraceCheckUtils]: 33: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13442#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {13442#(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; {13446#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:11,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {13446#(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; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:11,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {13450#(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; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:11,433 INFO L290 TraceCheckUtils]: 37: Hoare triple {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13457#(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-15 07:40:11,433 INFO L272 TraceCheckUtils]: 38: Hoare triple {13457#(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)); {13335#true} is VALID [2022-04-15 07:40:11,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {13335#true} ~cond := #in~cond; {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:11,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:11,434 INFO L290 TraceCheckUtils]: 41: Hoare triple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:11,435 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} {13457#(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; {13475#(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-15 07:40:11,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {13475#(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); {13479#(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-15 07:40:13,438 WARN L290 TraceCheckUtils]: 44: Hoare triple {13479#(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; {13483#(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-15 07:40:13,441 INFO L272 TraceCheckUtils]: 45: Hoare triple {13483#(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)); {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:13,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13491#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:13,442 INFO L290 TraceCheckUtils]: 47: Hoare triple {13491#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13336#false} is VALID [2022-04-15 07:40:13,442 INFO L290 TraceCheckUtils]: 48: Hoare triple {13336#false} assume !false; {13336#false} is VALID [2022-04-15 07:40:13,442 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-15 07:40:13,442 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:19,723 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:44:24,906 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)) (let ((.cse2 (* c_main_~X~0 c_main_~y~0)) (.cse1 (* (- 1) c_main_~Y~0))) (or (forall ((aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (or (let ((.cse0 (div (+ (* (- 1) c_main_~Y~0) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 c_main_~X~0 (* c_main_~X~0 c_main_~y~0)) c_main_~Y~0))) (<= (+ .cse0 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 (* .cse0 c_main_~y~0)) (+ c_main_~Y~0 (* c_main_~Y~0 .cse0) c_main_~y~0 1))) (<= (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 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))) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_main_~v~0_57_59) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) 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)) (<= (+ aux_div_main_~v~0_57 1) 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) (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-15 07:45:00,638 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:45:00,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740483339] [2022-04-15 07:45:00,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:45:00,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1802302918] [2022-04-15 07:45:00,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1802302918] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:45:00,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:45:00,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-15 07:45:00,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:45:00,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1599765930] [2022-04-15 07:45:00,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1599765930] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:45:00,639 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:45:00,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:45:00,639 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515060111] [2022-04-15 07:45:00,639 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:45:00,640 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-15 07:45:00,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:45:00,640 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-15 07:45:02,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:45:02,681 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:45:02,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:45:02,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:45:02,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=460, Unknown=10, NotChecked=44, Total=600 [2022-04-15 07:45:02,682 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-15 07:45:19,417 WARN L232 SmtUtils]: Spent 6.19s on a formula simplification. DAG size of input: 56 DAG size of output: 46 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:45:24,676 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-15 07:45:26,684 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:32,288 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-15 07:45:34,295 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:36,311 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:38,318 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:40,326 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:42,674 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-15 07:45:44,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:45:44,069 INFO L93 Difference]: Finished difference Result 148 states and 165 transitions. [2022-04-15 07:45:44,069 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 07:45:44,069 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-15 07:45:44,069 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:45:44,069 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-15 07:45:44,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-15 07:45:44,070 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-15 07:45:44,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-15 07:45:44,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-15 07:45:48,166 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-15 07:45:48,168 INFO L225 Difference]: With dead ends: 148 [2022-04-15 07:45:48,168 INFO L226 Difference]: Without dead ends: 140 [2022-04-15 07:45:48,168 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 41 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 39.1s TimeCoverageRelationStatistics Valid=156, Invalid=828, Unknown=12, NotChecked=60, Total=1056 [2022-04-15 07:45:48,169 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 26 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 435 mSolverCounterSat, 8 mSolverCounterUnsat, 8 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 18.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 435 IncrementalHoareTripleChecker+Invalid, 8 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:45:48,169 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 215 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 435 Invalid, 8 Unknown, 0 Unchecked, 18.9s Time] [2022-04-15 07:45:48,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-15 07:45:48,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 132. [2022-04-15 07:45:48,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:45:48,390 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-15 07:45:48,390 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-15 07:45:48,390 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-15 07:45:48,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:45:48,392 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 07:45:48,392 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 07:45:48,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:45:48,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:45:48,393 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-15 07:45:48,393 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-15 07:45:48,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:45:48,395 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 07:45:48,395 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 07:45:48,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:45:48,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:45:48,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:45:48,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:45:48,396 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-15 07:45:48,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 149 transitions. [2022-04-15 07:45:48,397 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 149 transitions. Word has length 49 [2022-04-15 07:45:48,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:45:48,397 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 149 transitions. [2022-04-15 07:45:48,398 INFO L479 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-15 07:45:48,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 149 transitions. [2022-04-15 07:45:56,902 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-15 07:45:56,902 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-15 07:45:56,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:45:56,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:45:56,903 INFO L499 BasicCegarLoop]: 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-15 07:45:56,919 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 07:45:57,105 WARN L460 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-15 07:45:57,105 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:45:57,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:45:57,106 INFO L85 PathProgramCache]: Analyzing trace with hash -1387467270, now seen corresponding path program 5 times [2022-04-15 07:45:57,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:45:57,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [955429073] [2022-04-15 07:45:57,153 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:45:57,154 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:45:57,154 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:45:57,154 INFO L85 PathProgramCache]: Analyzing trace with hash -1387467270, now seen corresponding path program 6 times [2022-04-15 07:45:57,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:45:57,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [334989337] [2022-04-15 07:45:57,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:45:57,154 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:45:57,172 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:45:57,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [443294216] [2022-04-15 07:45:57,172 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:45:57,172 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:45:57,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:45:57,173 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-15 07:45:57,174 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-15 07:45:57,605 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:45:57,606 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:45:57,607 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:45:57,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:45:57,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:46:08,151 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:46:14,981 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:46:17,376 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:46:23,236 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 [2022-04-15 07:47:16,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {14413#true} call ULTIMATE.init(); {14413#true} is VALID [2022-04-15 07:47:16,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {14413#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; {14413#true} is VALID [2022-04-15 07:47:16,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:16,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14413#true} {14413#true} #62#return; {14413#true} is VALID [2022-04-15 07:47:16,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {14413#true} call #t~ret9 := main(); {14413#true} is VALID [2022-04-15 07:47:16,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {14413#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; {14433#(<= 0 main_~x~0)} is VALID [2022-04-15 07:47:16,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {14433#(<= 0 main_~x~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14433#(<= 0 main_~x~0)} is VALID [2022-04-15 07:47:16,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {14433#(<= 0 main_~x~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14433#(<= 0 main_~x~0)} is VALID [2022-04-15 07:47:16,348 INFO L272 TraceCheckUtils]: 8: Hoare triple {14433#(<= 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)); {14413#true} is VALID [2022-04-15 07:47:16,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:16,349 INFO L290 TraceCheckUtils]: 10: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:16,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:16,349 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {14413#true} {14433#(<= 0 main_~x~0)} #58#return; {14433#(<= 0 main_~x~0)} is VALID [2022-04-15 07:47:16,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {14433#(<= 0 main_~x~0)} assume !!(~x~0 <= ~X~0); {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {14458#(<= 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; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {14458#(<= 0 main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 16: Hoare triple {14458#(<= 0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 17: Hoare triple {14458#(<= 0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,354 INFO L272 TraceCheckUtils]: 18: Hoare triple {14458#(<= 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)); {14413#true} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 19: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:16,354 INFO L290 TraceCheckUtils]: 21: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:16,355 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14413#true} {14458#(<= 0 main_~X~0)} #58#return; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {14458#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {14458#(<= 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; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 25: Hoare triple {14458#(<= 0 main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 26: Hoare triple {14458#(<= 0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {14458#(<= 0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,356 INFO L272 TraceCheckUtils]: 28: Hoare triple {14458#(<= 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)); {14413#true} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 30: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:16,356 INFO L290 TraceCheckUtils]: 31: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:16,357 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14413#true} {14458#(<= 0 main_~X~0)} #58#return; {14458#(<= 0 main_~X~0)} is VALID [2022-04-15 07:47:16,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {14458#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {14519#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:47:16,358 INFO L290 TraceCheckUtils]: 34: Hoare triple {14519#(and (<= main_~x~0 main_~X~0) (<= 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; {14519#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:47:16,359 INFO L290 TraceCheckUtils]: 35: Hoare triple {14519#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {14526#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:47:16,359 INFO L290 TraceCheckUtils]: 36: Hoare triple {14526#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14526#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:47:16,360 INFO L290 TraceCheckUtils]: 37: Hoare triple {14526#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14533#(and (<= 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-15 07:47:16,360 INFO L272 TraceCheckUtils]: 38: Hoare triple {14533#(and (<= 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)); {14413#true} is VALID [2022-04-15 07:47:16,360 INFO L290 TraceCheckUtils]: 39: Hoare triple {14413#true} ~cond := #in~cond; {14540#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:47:16,360 INFO L290 TraceCheckUtils]: 40: Hoare triple {14540#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:16,360 INFO L290 TraceCheckUtils]: 41: Hoare triple {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:16,362 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} {14533#(and (<= 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; {14551#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:47:16,362 INFO L290 TraceCheckUtils]: 43: Hoare triple {14551#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14555#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:47:18,365 WARN L290 TraceCheckUtils]: 44: Hoare triple {14555#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~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; {14559#(and (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-15 07:47:18,381 INFO L272 TraceCheckUtils]: 45: Hoare triple {14559#(and (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} 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)); {14563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:47:18,382 INFO L290 TraceCheckUtils]: 46: Hoare triple {14563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:47:18,382 INFO L290 TraceCheckUtils]: 47: Hoare triple {14567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14414#false} is VALID [2022-04-15 07:47:18,382 INFO L290 TraceCheckUtils]: 48: Hoare triple {14414#false} assume !false; {14414#false} is VALID [2022-04-15 07:47:18,382 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 28 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-15 07:47:18,383 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:47:20,539 INFO L290 TraceCheckUtils]: 48: Hoare triple {14414#false} assume !false; {14414#false} is VALID [2022-04-15 07:47:20,547 INFO L290 TraceCheckUtils]: 47: Hoare triple {14567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14414#false} is VALID [2022-04-15 07:47:20,547 INFO L290 TraceCheckUtils]: 46: Hoare triple {14563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:47:20,548 INFO L272 TraceCheckUtils]: 45: Hoare triple {14583#(= (+ (* 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)); {14563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:47:20,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {14587#(= (+ (* 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; {14583#(= (+ (* 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-15 07:47:20,550 INFO L290 TraceCheckUtils]: 43: Hoare triple {14591#(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); {14587#(= (+ (* 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-15 07:47:20,552 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} {14595#(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; {14591#(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-15 07:47:20,552 INFO L290 TraceCheckUtils]: 41: Hoare triple {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:20,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {14605#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14544#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:20,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {14413#true} ~cond := #in~cond; {14605#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:47:20,553 INFO L272 TraceCheckUtils]: 38: Hoare triple {14595#(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)); {14413#true} is VALID [2022-04-15 07:47:20,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {14612#(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 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14595#(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-15 07:47:20,555 INFO L290 TraceCheckUtils]: 36: Hoare triple {14612#(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; {14612#(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-15 07:47:20,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {14619#(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; {14612#(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-15 07:47:20,568 INFO L290 TraceCheckUtils]: 34: Hoare triple {14623#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int) (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))))))} 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; {14619#(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-15 07:47:20,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {14413#true} assume !!(~x~0 <= ~X~0); {14623#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int) (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))))))} is VALID [2022-04-15 07:47:20,571 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14413#true} {14413#true} #58#return; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 29: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L272 TraceCheckUtils]: 28: Hoare triple {14413#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {14413#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {14413#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {14413#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {14413#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; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {14413#true} assume !!(~x~0 <= ~X~0); {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14413#true} {14413#true} #58#return; {14413#true} is VALID [2022-04-15 07:47:20,571 INFO L290 TraceCheckUtils]: 21: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 19: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L272 TraceCheckUtils]: 18: Hoare triple {14413#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 17: Hoare triple {14413#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 16: Hoare triple {14413#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 15: Hoare triple {14413#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {14413#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; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {14413#true} assume !!(~x~0 <= ~X~0); {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {14413#true} {14413#true} #58#return; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 11: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 10: Hoare triple {14413#true} assume !(0 == ~cond); {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {14413#true} ~cond := #in~cond; {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L272 TraceCheckUtils]: 8: Hoare triple {14413#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14413#true} is VALID [2022-04-15 07:47:20,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {14413#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L290 TraceCheckUtils]: 6: Hoare triple {14413#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {14413#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; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {14413#true} call #t~ret9 := main(); {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14413#true} {14413#true} #62#return; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {14413#true} assume true; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {14413#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; {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {14413#true} call ULTIMATE.init(); {14413#true} is VALID [2022-04-15 07:47:20,573 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 32 proven. 1 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-15 07:47:20,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:47:20,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [334989337] [2022-04-15 07:47:20,573 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:47:20,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [443294216] [2022-04-15 07:47:20,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [443294216] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:47:20,574 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:47:20,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:47:20,574 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:47:20,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [955429073] [2022-04-15 07:47:20,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [955429073] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:47:20,574 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:47:20,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:47:20,574 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1881290317] [2022-04-15 07:47:20,574 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:47:20,575 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:20,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:47:20,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:22,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:47:22,637 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:47:22,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:47:22,637 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:47:22,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=348, Unknown=1, NotChecked=38, Total=462 [2022-04-15 07:47:22,638 INFO L87 Difference]: Start difference. First operand 132 states and 149 transitions. Second operand has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:27,817 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse7 (* c_main_~X~0 c_main_~y~0)) (.cse3 (+ c_main_~X~0 1))) (and (let ((.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) .cse7)) (.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) (not (<= c_main_~x~0 c_main_~X~0)) (= (+ (* 2 (* c_main_~Y~0 c_main_~x~0)) (* 2 c_main_~Y~0)) (+ (* 2 .cse7) c_main_~v~0 c_main_~X~0)) (<= c_main_~x~0 .cse3))) is different from false [2022-04-15 07:47:28,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:47:28,272 INFO L93 Difference]: Finished difference Result 145 states and 161 transitions. [2022-04-15 07:47:28,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:47:28,272 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:28,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:47:28,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:28,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 38 transitions. [2022-04-15 07:47:28,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:28,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 38 transitions. [2022-04-15 07:47:28,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 38 transitions. [2022-04-15 07:47:30,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:47:30,341 INFO L225 Difference]: With dead ends: 145 [2022-04-15 07:47:30,341 INFO L226 Difference]: Without dead ends: 137 [2022-04-15 07:47:30,342 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=178, Invalid=698, Unknown=2, NotChecked=114, Total=992 [2022-04-15 07:47:30,342 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 27 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 29 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:47:30,342 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 96 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 129 Invalid, 0 Unknown, 29 Unchecked, 0.7s Time] [2022-04-15 07:47:30,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-15 07:47:30,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 120. [2022-04-15 07:47:30,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:47:30,546 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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-15 07:47:30,546 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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-15 07:47:30,547 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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-15 07:47:30,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:47:30,548 INFO L93 Difference]: Finished difference Result 137 states and 152 transitions. [2022-04-15 07:47:30,548 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 152 transitions. [2022-04-15 07:47:30,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:47:30,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:47:30,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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 137 states. [2022-04-15 07:47:30,549 INFO L87 Difference]: Start difference. First operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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 137 states. [2022-04-15 07:47:30,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:47:30,550 INFO L93 Difference]: Finished difference Result 137 states and 152 transitions. [2022-04-15 07:47:30,551 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 152 transitions. [2022-04-15 07:47:30,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:47:30,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:47:30,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:47:30,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:47:30,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 93 states have (on average 1.118279569892473) internal successors, (104), 95 states have internal predecessors, (104), 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-15 07:47:30,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 130 transitions. [2022-04-15 07:47:30,552 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 130 transitions. Word has length 49 [2022-04-15 07:47:30,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:47:30,553 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 130 transitions. [2022-04-15 07:47:30,556 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 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-15 07:47:30,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 130 transitions. [2022-04-15 07:47:37,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 127 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 07:47:37,071 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 130 transitions. [2022-04-15 07:47:37,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:47:37,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:47:37,071 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:47:37,078 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 07:47:37,276 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 07:47:37,276 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:47:37,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:47:37,277 INFO L85 PathProgramCache]: Analyzing trace with hash -1434541020, now seen corresponding path program 11 times [2022-04-15 07:47:37,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:47:37,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [524530472] [2022-04-15 07:47:37,363 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:47:37,363 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:47:37,363 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:47:37,363 INFO L85 PathProgramCache]: Analyzing trace with hash -1434541020, now seen corresponding path program 12 times [2022-04-15 07:47:37,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:47:37,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1094820248] [2022-04-15 07:47:37,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:47:37,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:47:37,371 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:47:37,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1914974652] [2022-04-15 07:47:37,372 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:47:37,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:47:37,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:47:37,373 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:47:37,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 07:47:37,831 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:47:37,832 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:47:37,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:47:37,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:47:37,854 INFO L286 TraceCheckSpWp]: Computing forward predicates...