/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:41:52,853 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:41:52,854 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:41:52,895 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:41:52,895 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:41:52,896 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:41:52,898 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:41:52,901 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:41:52,903 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:41:52,906 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:41:52,906 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:41:52,907 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:41:52,908 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:41:52,909 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:41:52,910 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:41:52,912 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:41:52,912 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:41:52,913 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:41:52,914 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:41:52,918 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:41:52,935 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:41:52,936 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:41:52,937 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:41:52,937 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:41:52,938 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:41:52,943 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:41:52,943 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:41:52,943 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:41:52,944 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:41:52,944 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:41:52,945 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:41:52,945 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:41:52,946 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:41:52,946 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:41:52,947 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:41:52,947 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:41:52,947 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:41:52,948 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:41:52,948 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:41:52,948 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:41:52,948 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:41:52,949 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:41:52,950 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:41:52,957 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:41:52,958 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:41:52,958 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:41:52,959 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:41:52,960 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:41:52,960 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:41:52,960 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:41:52,961 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:41:52,961 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:41:52,961 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:41:52,961 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:41:52,961 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:41:52,961 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-08 04:41:53,272 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:41:53,301 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:41:53,302 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:41:53,303 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:41:53,310 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:41:53,311 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-08 04:41:53,531 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90e25074b/457a806a30be43cba5b353b252f452e8/FLAG691800532 [2022-04-08 04:41:54,065 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:41:54,065 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-08 04:41:54,080 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90e25074b/457a806a30be43cba5b353b252f452e8/FLAG691800532 [2022-04-08 04:41:54,106 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90e25074b/457a806a30be43cba5b353b252f452e8 [2022-04-08 04:41:54,108 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:41:54,109 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:41:54,110 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:41:54,111 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:41:54,113 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:41:54,114 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,122 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@a698283 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54, skipping insertion in model container [2022-04-08 04:41:54,123 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,143 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:41:54,151 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:41:54,401 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_valuebound10.c[597,610] [2022-04-08 04:41:54,446 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:41:54,451 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:41:54,475 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_valuebound10.c[597,610] [2022-04-08 04:41:54,494 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:41:54,515 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:41:54,516 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54 WrapperNode [2022-04-08 04:41:54,516 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:41:54,517 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:41:54,517 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:41:54,518 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:41:54,524 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,524 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,534 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,535 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,543 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,547 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,551 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,552 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:41:54,553 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:41:54,553 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:41:54,553 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:41:54,555 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (1/1) ... [2022-04-08 04:41:54,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:41:54,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:54,584 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-08 04:41:54,585 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-08 04:41:54,610 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:41:54,610 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:41:54,610 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:41:54,611 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:41:54,611 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:41:54,611 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:41:54,611 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:41:54,612 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:41:54,612 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:41:54,612 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:41:54,612 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:41:54,612 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:41:54,653 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:41:54,654 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:41:54,775 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:41:54,780 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:41:54,780 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 04:41:54,781 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:41:54 BoogieIcfgContainer [2022-04-08 04:41:54,781 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:41:54,783 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:41:54,783 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:41:54,785 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:41:54,785 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:41:54" (1/3) ... [2022-04-08 04:41:54,786 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@ff5d5a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:41:54, skipping insertion in model container [2022-04-08 04:41:54,786 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:41:54" (2/3) ... [2022-04-08 04:41:54,786 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@ff5d5a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:41:54, skipping insertion in model container [2022-04-08 04:41:54,786 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:41:54" (3/3) ... [2022-04-08 04:41:54,787 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound10.c [2022-04-08 04:41:54,790 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:41:54,790 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:41:54,816 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:41:54,820 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-08 04:41:54,821 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:41:54,832 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:41:54,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:41:54,836 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:54,837 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:54,837 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:54,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:54,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-08 04:41:54,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:54,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1985208677] [2022-04-08 04:41:54,852 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:41:54,853 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-08 04:41:54,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:54,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319781610] [2022-04-08 04:41:54,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:54,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:54,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:54,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:41:54,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:54,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 04:41:54,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 04:41:54,986 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 04:41:54,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:41:54,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:54,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:41:54,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:41:54,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:41:54,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 04:41:54,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 04:41:54,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:54,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:41:54,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:41:54,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:41:54,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 04:41:55,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:41:55,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 04:41:55,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 04:41:55,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 04:41:55,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-08 04:41:55,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-08 04:41:55,001 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-08 04:41:55,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:41:55,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:41:55,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:41:55,002 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 04:41:55,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-08 04:41:55,003 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-08 04:41:55,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:41:55,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:41:55,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:41:55,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 04:41:55,004 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-08 04:41:55,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-08 04:41:55,004 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-08 04:41:55,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-08 04:41:55,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-08 04:41:55,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-08 04:41:55,005 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:41:55,006 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:55,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1319781610] [2022-04-08 04:41:55,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1319781610] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:55,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:55,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:41:55,009 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:55,009 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1985208677] [2022-04-08 04:41:55,009 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1985208677] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:55,009 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:55,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:41:55,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1964724003] [2022-04-08 04:41:55,010 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:55,043 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:41:55,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:55,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:41:55,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:55,065 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:41:55,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:55,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:41:55,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:41:55,080 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:41:55,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,155 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-08 04:41:55,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:41:55,156 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:41:55,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:55,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:41:55,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 04:41:55,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:41:55,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 04:41:55,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-08 04:41:55,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:55,238 INFO L225 Difference]: With dead ends: 57 [2022-04-08 04:41:55,238 INFO L226 Difference]: Without dead ends: 27 [2022-04-08 04:41:55,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:41:55,242 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:55,243 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:41:55,253 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-08 04:41:55,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-08 04:41:55,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:55,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:55,263 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:55,263 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:55,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,266 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 04:41:55,266 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:41:55,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:55,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:55,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 04:41:55,267 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 04:41:55,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,269 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 04:41:55,269 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:41:55,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:55,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:55,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:55,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:55,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:55,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-08 04:41:55,273 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-08 04:41:55,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:55,273 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-08 04:41:55,273 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:41:55,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-08 04:41:55,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:55,301 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:41:55,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:41:55,302 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:55,303 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:55,303 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:41:55,303 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:55,305 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:55,305 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-08 04:41:55,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:55,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [679579580] [2022-04-08 04:41:55,309 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:41:55,309 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-08 04:41:55,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:55,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [394172645] [2022-04-08 04:41:55,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:55,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:55,327 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:55,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2135987408] [2022-04-08 04:41:55,328 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:41:55,328 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:55,328 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:55,329 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-08 04:41:55,330 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-08 04:41:55,374 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:41:55,375 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:55,376 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 04:41:55,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:55,387 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:41:55,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-08 04:41:55,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-08 04:41:55,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:41:55,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-08 04:41:55,511 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-08 04:41:55,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-08 04:41:55,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {273#true} is VALID [2022-04-08 04:41:55,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 04:41:55,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 04:41:55,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:41:55,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-08 04:41:55,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-08 04:41:55,513 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {273#true} is VALID [2022-04-08 04:41:55,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 04:41:55,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 04:41:55,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:41:55,514 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-08 04:41:55,514 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:41:55,515 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-08 04:41:55,516 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:55,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:55,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-08 04:41:55,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-08 04:41:55,517 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:41:55,517 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:41:55,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:55,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [394172645] [2022-04-08 04:41:55,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:55,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2135987408] [2022-04-08 04:41:55,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2135987408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:55,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:55,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:41:55,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:55,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [679579580] [2022-04-08 04:41:55,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [679579580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:55,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:55,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:41:55,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1385175867] [2022-04-08 04:41:55,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:55,520 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 04:41:55,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:55,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:41:55,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:55,539 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:41:55,540 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:55,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:41:55,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:41:55,540 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:41:55,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,870 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 04:41:55,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:41:55,870 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 04:41:55,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:55,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:41:55,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:41:55,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:41:55,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:41:55,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-08 04:41:55,948 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-08 04:41:55,950 INFO L225 Difference]: With dead ends: 39 [2022-04-08 04:41:55,950 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 04:41:55,951 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:41:55,952 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:55,952 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:41:55,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 04:41:55,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-08 04:41:55,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:55,965 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:41:55,965 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:41:55,965 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:41:55,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,967 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 04:41:55,967 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 04:41:55,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:55,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:55,968 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 04:41:55,968 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 04:41:55,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:55,970 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 04:41:55,970 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 04:41:55,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:55,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:55,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:55,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:55,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:41:55,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-08 04:41:55,974 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-08 04:41:55,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:55,974 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-08 04:41:55,974 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:41:55,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-08 04:41:56,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:56,010 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-08 04:41:56,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:41:56,011 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:56,011 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:56,034 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 04:41:56,211 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-08 04:41:56,212 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:56,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:56,212 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-08 04:41:56,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:56,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1236357945] [2022-04-08 04:41:56,213 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:41:56,213 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-08 04:41:56,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:56,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1182574943] [2022-04-08 04:41:56,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:56,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:56,250 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:56,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1068237506] [2022-04-08 04:41:56,250 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:41:56,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:56,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:56,252 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-08 04:41:56,267 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-08 04:41:56,325 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:41:56,325 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:56,326 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:41:56,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:56,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:41:56,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-08 04:41:56,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-08 04:41:56,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-08 04:41:56,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-08 04:41:56,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-08 04:41:56,636 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:41:56,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:41:56,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-08 04:41:56,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-08 04:41:56,637 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:41:56,637 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:41:56,638 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:41:56,638 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,641 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,641 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,641 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,641 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:41:56,642 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:41:56,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,642 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,643 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:41:56,646 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:56,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:56,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-08 04:41:56,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-08 04:41:56,647 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:41:56,647 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:41:56,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-08 04:41:56,866 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-08 04:41:56,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:56,867 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:56,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:41:56,869 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:56,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:41:56,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:56,872 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:56,872 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,872 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:41:56,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:41:56,872 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,874 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:56,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:56,875 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-08 04:41:56,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:41:56,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:41:56,875 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-08 04:41:56,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-08 04:41:56,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:41:56,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-08 04:41:56,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-08 04:41:56,877 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:41:56,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:56,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1182574943] [2022-04-08 04:41:56,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:56,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1068237506] [2022-04-08 04:41:56,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1068237506] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:41:56,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:41:56,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-08 04:41:56,878 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:56,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1236357945] [2022-04-08 04:41:56,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1236357945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:56,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:56,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:41:56,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067282042] [2022-04-08 04:41:56,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:56,878 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:41:56,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:56,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:56,899 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-08 04:41:56,900 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:41:56,900 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:56,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:41:56,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:41:56,901 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:57,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:57,518 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-08 04:41:57,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:41:57,519 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:41:57,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:57,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:57,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-08 04:41:57,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:57,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-08 04:41:57,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-08 04:41:57,569 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-08 04:41:57,572 INFO L225 Difference]: With dead ends: 48 [2022-04-08 04:41:57,573 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 04:41:57,574 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:41:57,576 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:57,576 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:41:57,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 04:41:57,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-08 04:41:57,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:57,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:41:57,616 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:41:57,617 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:41:57,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:57,624 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-08 04:41:57,624 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-08 04:41:57,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:57,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:57,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-08 04:41:57,627 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-08 04:41:57,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:57,628 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-08 04:41:57,628 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-08 04:41:57,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:57,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:57,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:57,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:57,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:41:57,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-08 04:41:57,635 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-08 04:41:57,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:57,635 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-08 04:41:57,636 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:57,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-08 04:41:58,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:58,104 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-08 04:41:58,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:41:58,104 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:58,105 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:58,125 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-08 04:41:58,305 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-08 04:41:58,305 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:58,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:58,306 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-08 04:41:58,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:58,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1442746382] [2022-04-08 04:41:58,306 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:41:58,306 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-08 04:41:58,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:58,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1790946114] [2022-04-08 04:41:58,307 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:58,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:58,398 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:58,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [863020824] [2022-04-08 04:41:58,398 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:41:58,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:58,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:58,415 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-08 04:41:58,447 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-08 04:41:58,491 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:41:58,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:58,492 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:41:58,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:58,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:41:58,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-08 04:41:58,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,687 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-08 04:41:58,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:41:58,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:41:58,688 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,689 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:41:58,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:41:58,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:58,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:41:58,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-08 04:41:58,693 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:58,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:58,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-08 04:41:58,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-08 04:41:58,694 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:41:58,694 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:41:58,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-08 04:41:58,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-08 04:41:58,899 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:58,900 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:58,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:41:58,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:58,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:41:58,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:58,952 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:41:58,952 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,952 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,952 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:41:58,953 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:41:58,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-08 04:41:58,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-08 04:41:58,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-08 04:41:58,958 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:41:58,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:58,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1790946114] [2022-04-08 04:41:58,958 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:58,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [863020824] [2022-04-08 04:41:58,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [863020824] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:41:58,958 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:41:58,958 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-08 04:41:58,958 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:58,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1442746382] [2022-04-08 04:41:58,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1442746382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:58,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:58,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:41:58,959 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69665547] [2022-04-08 04:41:58,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:58,959 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:41:58,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:58,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:58,990 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-08 04:41:58,990 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:41:58,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:58,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:41:58,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:41:58,991 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:59,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:59,349 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-08 04:41:59,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:41:59,349 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:41:59,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:59,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:59,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 04:41:59,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:59,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 04:41:59,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-08 04:41:59,393 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-08 04:41:59,394 INFO L225 Difference]: With dead ends: 56 [2022-04-08 04:41:59,395 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 04:41:59,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:41:59,395 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:59,396 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:41:59,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 04:41:59,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-08 04:41:59,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:59,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:41:59,432 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:41:59,433 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:41:59,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:59,434 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-08 04:41:59,434 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-08 04:41:59,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:59,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:59,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-08 04:41:59,435 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-08 04:41:59,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:59,437 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-08 04:41:59,437 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-08 04:41:59,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:59,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:59,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:59,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:59,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:41:59,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-08 04:41:59,439 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-08 04:41:59,439 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:59,439 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-08 04:41:59,439 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:41:59,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-08 04:41:59,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:59,486 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-08 04:41:59,487 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 04:41:59,487 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:59,487 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:59,503 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-08 04:41:59,691 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-08 04:41:59,691 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:59,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:59,692 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-08 04:41:59,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:59,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1380616339] [2022-04-08 04:41:59,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:41:59,692 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-08 04:41:59,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:59,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [227595869] [2022-04-08 04:41:59,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:59,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:59,715 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:59,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1475485691] [2022-04-08 04:41:59,715 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:41:59,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:59,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:59,731 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-08 04:41:59,732 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-08 04:41:59,790 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:41:59,790 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:59,791 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 04:41:59,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:59,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:42:14,538 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:42:17,784 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:42:21,534 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:42:33,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-08 04:42:33,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-08 04:42:33,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:33,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:33,032 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-08 04:42:33,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:33,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:33,036 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:33,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:33,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:33,037 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:33,037 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:33,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:33,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:42:33,039 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:42:33,039 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:42:33,039 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:33,039 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:33,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:33,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:33,041 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-08 04:42:33,042 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:42:33,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-08 04:42:33,049 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:33,050 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:33,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-08 04:42:33,050 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-08 04:42:33,051 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:42:33,051 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:42:36,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-08 04:42:36,266 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-08 04:42:36,266 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:36,267 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:36,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:42:36,269 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:42:36,270 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:42:36,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:36,272 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:36,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:42:36,273 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:36,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:42:36,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:42:36,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-08 04:42:36,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-08 04:42:36,282 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-08 04:42:36,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:36,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:42:36,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:42:36,283 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:36,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:42:36,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-08 04:42:36,285 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:42:36,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:42:36,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [227595869] [2022-04-08 04:42:36,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:42:36,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1475485691] [2022-04-08 04:42:36,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1475485691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:42:36,286 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:42:36,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-08 04:42:36,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:42:36,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1380616339] [2022-04-08 04:42:36,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1380616339] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:42:36,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:42:36,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:42:36,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957430276] [2022-04-08 04:42:36,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:42:36,287 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 04:42:36,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:42:36,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:36,323 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-08 04:42:36,324 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:42:36,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:36,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:42:36,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:42:36,326 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:41,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:41,144 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-08 04:42:41,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:42:41,144 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 04:42:41,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:42:41,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:41,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-08 04:42:41,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:41,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-08 04:42:41,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-08 04:42:41,211 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-08 04:42:41,212 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:42:41,212 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 04:42:41,212 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 132 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:42:41,213 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:42:41,213 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:42:41,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 04:42:41,263 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-08 04:42:41,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:42:41,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:42:41,265 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:42:41,265 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:42:41,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:41,267 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 04:42:41,267 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 04:42:41,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:41,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:41,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-08 04:42:41,267 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-08 04:42:41,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:41,273 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 04:42:41,273 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 04:42:41,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:41,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:41,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:42:41,273 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:42:41,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:42:41,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-08 04:42:41,275 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-08 04:42:41,276 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:42:41,277 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-08 04:42:41,277 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:41,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-08 04:42:41,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:41,336 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-08 04:42:41,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:42:41,336 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:42:41,337 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:42:41,359 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 04:42:41,551 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-08 04:42:41,552 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:42:41,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:42:41,552 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-08 04:42:41,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:41,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [881293746] [2022-04-08 04:42:41,552 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:42:41,553 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-08 04:42:41,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:42:41,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324111015] [2022-04-08 04:42:41,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:42:41,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:42:41,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:42:41,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1211268492] [2022-04-08 04:42:41,566 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:42:41,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:42:41,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:42:41,571 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-08 04:42:41,572 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-08 04:42:41,604 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:42:41,604 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:42:41,605 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 04:42:41,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:42:41,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:42:42,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-08 04:42:42,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-08 04:42:42,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:42,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-08 04:42:42,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-08 04:42:42,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-08 04:42:42,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:42,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:42:42,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:42,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:42,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2155#true} #61#return; {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:42:42,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:42:42,454 INFO L272 TraceCheckUtils]: 12: Hoare triple {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:42,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:42:42,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:42,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:42,455 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {2211#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {2211#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} is VALID [2022-04-08 04:42:42,456 INFO L272 TraceCheckUtils]: 19: Hoare triple {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:42,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:42,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {2226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:42,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:42,458 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} #65#return; {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2243#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {2243#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,461 INFO L272 TraceCheckUtils]: 28: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:42,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:42:42,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:42:42,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:42,462 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2155#true} {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,462 INFO L290 TraceCheckUtils]: 33: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:42:42,463 INFO L290 TraceCheckUtils]: 34: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2272#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-08 04:42:42,464 INFO L290 TraceCheckUtils]: 35: Hoare triple {2272#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2276#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-08 04:42:42,464 INFO L290 TraceCheckUtils]: 36: Hoare triple {2276#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2280#(and (= main_~xy~0 0) (<= main_~X~0 10) (= (* main_~Y~0 2) main_~yx~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-08 04:42:42,465 INFO L272 TraceCheckUtils]: 37: Hoare triple {2280#(and (= main_~xy~0 0) (<= main_~X~0 10) (= (* main_~Y~0 2) main_~yx~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:42,466 INFO L290 TraceCheckUtils]: 38: Hoare triple {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2288#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:42,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {2288#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-08 04:42:42,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-08 04:42:42,466 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:42:42,466 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:42:48,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-08 04:42:48,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {2288#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-08 04:42:48,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2288#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:48,101 INFO L272 TraceCheckUtils]: 37: Hoare triple {2304#(= (+ (* 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)); {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:48,102 INFO L290 TraceCheckUtils]: 36: Hoare triple {2308#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2304#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:42:48,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {2312#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2308#(= (+ (* 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-08 04:42:48,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {2316#(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; {2312#(= (+ (* (* 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-08 04:42:48,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(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); {2316#(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-08 04:42:48,105 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2155#true} {2316#(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)))))} #65#return; {2316#(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-08 04:42:48,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:48,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:42:48,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:42:48,106 INFO L272 TraceCheckUtils]: 28: Hoare triple {2316#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:48,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {2316#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2316#(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-08 04:42:48,107 INFO L290 TraceCheckUtils]: 26: Hoare triple {2341#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2316#(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-08 04:42:48,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {2345#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2341#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:42:48,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {2345#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} assume !!(~x~0 <= ~X~0); {2345#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} is VALID [2022-04-08 04:42:48,109 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} {2352#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2345#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} is VALID [2022-04-08 04:42:48,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:48,110 INFO L290 TraceCheckUtils]: 21: Hoare triple {2362#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:48,110 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2362#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:42:48,110 INFO L272 TraceCheckUtils]: 19: Hoare triple {2352#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 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)); {2155#true} is VALID [2022-04-08 04:42:48,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {2369#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2352#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:42:48,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2369#(or (= (+ (* (* main_~X~0 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))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:42:48,112 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-08 04:42:48,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-08 04:42:48,113 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:42:48,114 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:42:48,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324111015] [2022-04-08 04:42:48,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:42:48,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1211268492] [2022-04-08 04:42:48,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1211268492] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:42:48,115 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:42:48,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 26 [2022-04-08 04:42:48,115 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:42:48,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [881293746] [2022-04-08 04:42:48,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [881293746] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:42:48,115 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:42:48,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 04:42:48,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [794969534] [2022-04-08 04:42:48,115 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:42:48,116 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-08 04:42:48,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:42:48,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:42:48,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:48,236 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 04:42:48,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:48,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 04:42:48,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:42:48,237 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:42:49,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:49,292 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-08 04:42:49,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 04:42:49,293 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-08 04:42:49,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:42:49,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:42:49,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-04-08 04:42:49,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:42:49,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-04-08 04:42:49,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 58 transitions. [2022-04-08 04:42:49,369 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-08 04:42:49,370 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:42:49,370 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 04:42:49,371 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 55 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 182 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=130, Invalid=740, Unknown=0, NotChecked=0, Total=870 [2022-04-08 04:42:49,371 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 40 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:42:49,372 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 146 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 399 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:42:49,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 04:42:49,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-08 04:42:49,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:42:49,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:49,445 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:49,446 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:49,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:49,448 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-08 04:42:49,448 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-08 04:42:49,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:49,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:49,449 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-08 04:42:49,450 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-08 04:42:49,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:49,452 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-08 04:42:49,452 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-08 04:42:49,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:49,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:49,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:42:49,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:42:49,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:49,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-08 04:42:49,455 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-08 04:42:49,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:42:49,456 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-08 04:42:49,457 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:42:49,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-08 04:42:49,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:49,529 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-08 04:42:49,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:42:49,529 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:42:49,529 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:42:49,547 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-08 04:42:49,729 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-08 04:42:49,730 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:42:49,730 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:42:49,730 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-08 04:42:49,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:49,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1861954926] [2022-04-08 04:42:49,730 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:42:49,731 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-08 04:42:49,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:42:49,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [985832041] [2022-04-08 04:42:49,731 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:42:49,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:42:49,740 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:42:49,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1672327976] [2022-04-08 04:42:49,740 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:42:49,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:42:49,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:42:49,759 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-08 04:42:49,787 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-08 04:42:49,815 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:42:49,815 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:42:49,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:42:49,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:42:49,833 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:42:50,165 INFO L272 TraceCheckUtils]: 0: Hoare triple {2780#true} call ULTIMATE.init(); {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {2780#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); {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2780#true} {2780#true} #69#return; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {2780#true} call #t~ret8 := main(); {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {2780#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; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {2780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2780#true} {2780#true} #61#return; {2780#true} is VALID [2022-04-08 04:42:50,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {2780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2780#true} is VALID [2022-04-08 04:42:50,167 INFO L272 TraceCheckUtils]: 12: Hoare triple {2780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-08 04:42:50,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:50,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:50,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:50,167 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2780#true} {2780#true} #63#return; {2780#true} is VALID [2022-04-08 04:42:50,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {2780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,168 INFO L272 TraceCheckUtils]: 19: Hoare triple {2836#(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)); {2780#true} is VALID [2022-04-08 04:42:50,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:50,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:50,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:50,170 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2780#true} {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,170 INFO L290 TraceCheckUtils]: 24: Hoare triple {2836#(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); {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {2836#(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; {2861#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {2861#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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-08 04:42:50,176 INFO L272 TraceCheckUtils]: 28: Hoare triple {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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)); {2780#true} is VALID [2022-04-08 04:42:50,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {2780#true} ~cond := #in~cond; {2876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:50,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {2876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:50,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:50,181 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:42:50,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-08 04:42:50,183 INFO L290 TraceCheckUtils]: 35: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2897#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 2))} is VALID [2022-04-08 04:42:50,184 INFO L290 TraceCheckUtils]: 36: Hoare triple {2897#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2901#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-08 04:42:50,185 INFO L272 TraceCheckUtils]: 37: Hoare triple {2901#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:50,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2909#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:50,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {2909#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2781#false} is VALID [2022-04-08 04:42:50,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {2781#false} assume !false; {2781#false} is VALID [2022-04-08 04:42:50,188 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:42:50,188 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:42:54,166 INFO L290 TraceCheckUtils]: 40: Hoare triple {2781#false} assume !false; {2781#false} is VALID [2022-04-08 04:42:54,167 INFO L290 TraceCheckUtils]: 39: Hoare triple {2909#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2781#false} is VALID [2022-04-08 04:42:54,168 INFO L290 TraceCheckUtils]: 38: Hoare triple {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2909#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:54,168 INFO L272 TraceCheckUtils]: 37: Hoare triple {2925#(= (+ (* 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)); {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:54,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2925#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:42:54,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {2933#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2929#(= (+ (* 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-08 04:42:54,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2933#(= (+ (* (* 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-08 04:42:54,173 INFO L290 TraceCheckUtils]: 33: Hoare triple {2929#(= (+ (* 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); {2929#(= (+ (* 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-08 04:42:54,174 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} {2943#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2929#(= (+ (* 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-08 04:42:54,174 INFO L290 TraceCheckUtils]: 31: Hoare triple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:54,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {2953#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:54,175 INFO L290 TraceCheckUtils]: 29: Hoare triple {2780#true} ~cond := #in~cond; {2953#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:42:54,175 INFO L272 TraceCheckUtils]: 28: Hoare triple {2943#(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)); {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {2780#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2943#(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-08 04:42:54,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {2780#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {2780#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {2780#true} assume !!(~x~0 <= ~X~0); {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2780#true} {2780#true} #65#return; {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:54,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L272 TraceCheckUtils]: 19: Hoare triple {2780#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {2780#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {2780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2780#true} {2780#true} #63#return; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L272 TraceCheckUtils]: 12: Hoare triple {2780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {2780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2780#true} {2780#true} #61#return; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L272 TraceCheckUtils]: 6: Hoare triple {2780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-08 04:42:54,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {2780#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; {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {2780#true} call #t~ret8 := main(); {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2780#true} {2780#true} #69#return; {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {2780#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); {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {2780#true} call ULTIMATE.init(); {2780#true} is VALID [2022-04-08 04:42:54,180 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:42:54,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:42:54,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [985832041] [2022-04-08 04:42:54,180 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:42:54,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1672327976] [2022-04-08 04:42:54,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1672327976] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:42:54,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:42:54,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:42:54,181 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:42:54,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1861954926] [2022-04-08 04:42:54,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1861954926] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:42:54,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:42:54,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:42:54,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891158199] [2022-04-08 04:42:54,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:42:54,181 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:42:54,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:42:54,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:54,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:54,246 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:42:54,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:54,247 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:42:54,247 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:42:54,247 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:55,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:55,220 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-08 04:42:55,220 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:42:55,220 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:42:55,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:42:55,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:55,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:42:55,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:55,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:42:55,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-08 04:42:55,307 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-08 04:42:55,309 INFO L225 Difference]: With dead ends: 72 [2022-04-08 04:42:55,309 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 04:42:55,309 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:42:55,310 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 318 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:42:55,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 170 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:42:55,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 04:42:55,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-08 04:42:55,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:42:55,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:55,407 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:55,407 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:55,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:55,409 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-08 04:42:55,409 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 04:42:55,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:55,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:55,409 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-08 04:42:55,410 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-08 04:42:55,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:55,412 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-08 04:42:55,412 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 04:42:55,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:55,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:55,412 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:42:55,412 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:42:55,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:42:55,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-08 04:42:55,414 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-08 04:42:55,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:42:55,415 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-08 04:42:55,415 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:42:55,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-08 04:42:55,514 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-08 04:42:55,514 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 04:42:55,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:42:55,515 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:42:55,515 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:42:55,534 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-08 04:42:55,715 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-08 04:42:55,716 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:42:55,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:42:55,716 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-08 04:42:55,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:55,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [325221914] [2022-04-08 04:42:55,716 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:42:55,716 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-08 04:42:55,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:42:55,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969549973] [2022-04-08 04:42:55,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:42:55,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:42:55,758 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:42:55,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [487208255] [2022-04-08 04:42:55,758 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:42:55,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:42:55,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:42:55,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-08 04:42:55,765 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-08 04:42:55,881 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:42:55,881 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:42:55,882 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 04:42:55,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:42:55,893 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:16,442 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:43:25,885 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:43:31,973 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:43:32,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {3451#true} call ULTIMATE.init(); {3451#true} is VALID [2022-04-08 04:43:32,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#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); {3451#true} is VALID [2022-04-08 04:43:32,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:32,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3451#true} {3451#true} #69#return; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {3451#true} call #t~ret8 := main(); {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {3451#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; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L272 TraceCheckUtils]: 6: Hoare triple {3451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3451#true} {3451#true} #61#return; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {3451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L272 TraceCheckUtils]: 12: Hoare triple {3451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:32,292 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3451#true} {3451#true} #63#return; {3451#true} is VALID [2022-04-08 04:43:32,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {3451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:32,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:32,293 INFO L272 TraceCheckUtils]: 19: Hoare triple {3507#(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)); {3451#true} is VALID [2022-04-08 04:43:32,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:32,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:32,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:32,294 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3451#true} {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:32,294 INFO L290 TraceCheckUtils]: 24: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:32,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3532#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:32,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {3532#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3536#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:32,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:32,296 INFO L272 TraceCheckUtils]: 28: Hoare triple {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:32,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {3451#true} ~cond := #in~cond; {3547#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:32,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {3547#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:32,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:32,298 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {3558#(and (= (+ (- 1) main_~x~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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:32,299 INFO L290 TraceCheckUtils]: 33: Hoare triple {3558#(and (= (+ (- 1) main_~x~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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {3558#(and (= (+ (- 1) main_~x~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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:32,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {3558#(and (= (+ (- 1) main_~x~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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3565#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (* (* main_~X~0 main_~y~0) 2))))} is VALID [2022-04-08 04:43:32,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {3565#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (* (* main_~X~0 main_~y~0) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3569#(and (= (+ (- 2) main_~x~0) 0) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-08 04:43:32,302 INFO L290 TraceCheckUtils]: 36: Hoare triple {3569#(and (= (+ (- 2) main_~x~0) 0) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3573#(and (= (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (= (* main_~X~0 (div main_~X~0 main_~X~0)) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) (+ main_~X~0 (* main_~Y~0 2))) (< (* main_~Y~0 4) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0)))} is VALID [2022-04-08 04:43:32,303 INFO L272 TraceCheckUtils]: 37: Hoare triple {3573#(and (= (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (= (* main_~X~0 (div main_~X~0 main_~X~0)) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) (+ main_~X~0 (* main_~Y~0 2))) (< (* main_~Y~0 4) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:32,303 INFO L290 TraceCheckUtils]: 38: Hoare triple {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:32,304 INFO L290 TraceCheckUtils]: 39: Hoare triple {3581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3452#false} is VALID [2022-04-08 04:43:32,304 INFO L290 TraceCheckUtils]: 40: Hoare triple {3452#false} assume !false; {3452#false} is VALID [2022-04-08 04:43:32,304 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:43:32,304 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:35,394 INFO L290 TraceCheckUtils]: 40: Hoare triple {3452#false} assume !false; {3452#false} is VALID [2022-04-08 04:43:35,395 INFO L290 TraceCheckUtils]: 39: Hoare triple {3581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3452#false} is VALID [2022-04-08 04:43:35,395 INFO L290 TraceCheckUtils]: 38: Hoare triple {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:35,396 INFO L272 TraceCheckUtils]: 37: Hoare triple {3597#(= (+ (* 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)); {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:35,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {3601#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3597#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:43:35,398 INFO L290 TraceCheckUtils]: 35: Hoare triple {3605#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3601#(= (+ (* 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-08 04:43:35,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {3609#(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; {3605#(= (+ (* (* 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-08 04:43:35,399 INFO L290 TraceCheckUtils]: 33: Hoare triple {3609#(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); {3609#(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-08 04:43:35,400 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} {3616#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {3609#(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-08 04:43:35,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:35,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {3626#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:35,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {3451#true} ~cond := #in~cond; {3626#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:43:35,401 INFO L272 TraceCheckUtils]: 28: Hoare triple {3616#(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)); {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 27: Hoare triple {3451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3616#(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-08 04:43:35,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {3451#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {3451#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {3451#true} assume !!(~x~0 <= ~X~0); {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3451#true} {3451#true} #65#return; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 22: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 21: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L272 TraceCheckUtils]: 19: Hoare triple {3451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {3451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {3451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3451#true} {3451#true} #63#return; {3451#true} is VALID [2022-04-08 04:43:35,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {3451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {3451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3451#true} {3451#true} #61#return; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {3451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {3451#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; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {3451#true} call #t~ret8 := main(); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3451#true} {3451#true} #69#return; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#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); {3451#true} is VALID [2022-04-08 04:43:35,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {3451#true} call ULTIMATE.init(); {3451#true} is VALID [2022-04-08 04:43:35,404 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:43:35,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:35,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969549973] [2022-04-08 04:43:35,404 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:35,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [487208255] [2022-04-08 04:43:35,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [487208255] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:35,404 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:35,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 04:43:35,404 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:35,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [325221914] [2022-04-08 04:43:35,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [325221914] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:35,405 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:35,405 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:43:35,405 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [91398049] [2022-04-08 04:43:35,405 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:35,405 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:43:35,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:35,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:35,437 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:35,437 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:43:35,437 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:35,437 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:43:35,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:43:35,438 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:36,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:36,584 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-08 04:43:36,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:43:36,584 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:43:36,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:36,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:36,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-08 04:43:36,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:36,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-08 04:43:36,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-08 04:43:36,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:36,655 INFO L225 Difference]: With dead ends: 86 [2022-04-08 04:43:36,655 INFO L226 Difference]: Without dead ends: 73 [2022-04-08 04:43:36,655 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:43:36,655 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:36,656 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 184 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:43:36,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-08 04:43:36,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-08 04:43:36,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:36,771 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:36,771 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:36,771 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:36,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:36,773 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 04:43:36,773 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:43:36,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:36,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:36,774 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-08 04:43:36,774 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-08 04:43:36,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:36,775 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 04:43:36,775 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:43:36,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:36,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:36,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:36,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:36,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:36,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:43:36,777 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-08 04:43:36,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:36,777 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:43:36,778 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:36,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:43:36,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:36,897 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:43:36,897 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:43:36,897 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:36,898 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:36,914 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-08 04:43:37,098 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-08 04:43:37,098 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:37,098 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:37,098 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-08 04:43:37,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:37,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [17978269] [2022-04-08 04:43:37,099 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:43:37,099 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-08 04:43:37,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:37,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251480315] [2022-04-08 04:43:37,099 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:37,099 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:37,108 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:37,109 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1318025592] [2022-04-08 04:43:37,109 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:43:37,109 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:37,109 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:37,110 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-08 04:43:37,110 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-08 04:43:37,153 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:43:37,153 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:37,154 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 04:43:37,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:37,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:37,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {4188#true} call ULTIMATE.init(); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {4188#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); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4188#true} {4188#true} #69#return; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {4188#true} call #t~ret8 := main(); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {4188#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; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {4188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4188#true} {4188#true} #61#return; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {4188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L272 TraceCheckUtils]: 12: Hoare triple {4188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,486 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4188#true} {4188#true} #63#return; {4188#true} is VALID [2022-04-08 04:43:37,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {4188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:37,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:37,486 INFO L272 TraceCheckUtils]: 19: Hoare triple {4244#(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)); {4188#true} is VALID [2022-04-08 04:43:37,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,486 INFO L290 TraceCheckUtils]: 21: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,487 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4188#true} {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:37,487 INFO L290 TraceCheckUtils]: 24: Hoare triple {4244#(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); {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:37,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4269#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:37,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {4269#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:37,489 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:37,489 INFO L272 TraceCheckUtils]: 28: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,489 INFO L290 TraceCheckUtils]: 29: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,489 INFO L290 TraceCheckUtils]: 30: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,489 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4188#true} {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:37,490 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4295#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:37,490 INFO L290 TraceCheckUtils]: 34: Hoare triple {4295#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4299#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:37,491 INFO L290 TraceCheckUtils]: 35: Hoare triple {4299#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4303#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:43:37,491 INFO L290 TraceCheckUtils]: 36: Hoare triple {4303#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4307#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} is VALID [2022-04-08 04:43:37,492 INFO L272 TraceCheckUtils]: 37: Hoare triple {4307#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:37,492 INFO L290 TraceCheckUtils]: 38: Hoare triple {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4315#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:37,492 INFO L290 TraceCheckUtils]: 39: Hoare triple {4315#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4189#false} is VALID [2022-04-08 04:43:37,492 INFO L290 TraceCheckUtils]: 40: Hoare triple {4189#false} assume !false; {4189#false} is VALID [2022-04-08 04:43:37,493 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:43:37,493 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:37,859 INFO L290 TraceCheckUtils]: 40: Hoare triple {4189#false} assume !false; {4189#false} is VALID [2022-04-08 04:43:37,860 INFO L290 TraceCheckUtils]: 39: Hoare triple {4315#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4189#false} is VALID [2022-04-08 04:43:37,860 INFO L290 TraceCheckUtils]: 38: Hoare triple {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4315#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:37,861 INFO L272 TraceCheckUtils]: 37: Hoare triple {4331#(= (+ (* 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)); {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:37,862 INFO L290 TraceCheckUtils]: 36: Hoare triple {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4331#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:43:37,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {4339#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4335#(= (+ (* 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-08 04:43:37,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4339#(= (+ (* (* 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-08 04:43:37,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4335#(= (+ (* 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-08 04:43:37,866 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4188#true} {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:43:37,866 INFO L290 TraceCheckUtils]: 31: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,866 INFO L290 TraceCheckUtils]: 30: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,866 INFO L272 TraceCheckUtils]: 28: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:43:37,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {4368#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:43:37,869 INFO L290 TraceCheckUtils]: 25: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4368#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:43:37,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-08 04:43:37,870 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4188#true} {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-08 04:43:37,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,871 INFO L272 TraceCheckUtils]: 19: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 17: Hoare triple {4188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-08 04:43:37,872 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4188#true} {4188#true} #63#return; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 15: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 14: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L272 TraceCheckUtils]: 12: Hoare triple {4188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {4188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4188#true} {4188#true} #61#return; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L272 TraceCheckUtils]: 6: Hoare triple {4188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {4188#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; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {4188#true} call #t~ret8 := main(); {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4188#true} {4188#true} #69#return; {4188#true} is VALID [2022-04-08 04:43:37,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-08 04:43:37,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {4188#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); {4188#true} is VALID [2022-04-08 04:43:37,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {4188#true} call ULTIMATE.init(); {4188#true} is VALID [2022-04-08 04:43:37,873 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:43:37,873 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:37,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251480315] [2022-04-08 04:43:37,873 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:37,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318025592] [2022-04-08 04:43:37,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318025592] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:37,873 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:37,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 17 [2022-04-08 04:43:37,873 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:37,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [17978269] [2022-04-08 04:43:37,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [17978269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:37,874 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:37,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:43:37,874 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [812963610] [2022-04-08 04:43:37,874 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:37,875 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:43:37,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:37,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:37,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:37,920 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:43:37,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:37,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:43:37,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:43:37,920 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:38,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:38,759 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-08 04:43:38,759 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:43:38,759 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:43:38,759 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:38,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:38,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-08 04:43:38,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:38,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-08 04:43:38,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-08 04:43:38,827 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-08 04:43:38,828 INFO L225 Difference]: With dead ends: 86 [2022-04-08 04:43:38,828 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 04:43:38,829 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 62 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=277, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:43:38,829 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:38,829 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:43:38,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 04:43:38,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-08 04:43:38,954 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:38,955 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:38,955 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:38,956 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:38,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:38,972 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:43:38,972 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:43:38,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:38,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:38,973 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:43:38,973 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:43:38,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:38,982 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:43:38,982 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:43:38,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:38,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:38,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:38,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:38,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:38,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:43:38,984 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-08 04:43:38,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:38,984 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:43:38,984 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:43:38,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:43:39,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:39,133 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:43:39,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 04:43:39,133 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:39,133 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:39,153 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-08 04:43:39,333 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-08 04:43:39,334 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:39,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:39,334 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-08 04:43:39,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:39,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2077550965] [2022-04-08 04:43:39,335 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:43:39,335 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-08 04:43:39,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:39,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819174385] [2022-04-08 04:43:39,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:39,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:39,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:39,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1770914512] [2022-04-08 04:43:39,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:43:39,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:39,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:39,354 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-08 04:43:39,399 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-08 04:43:39,411 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:43:39,411 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:39,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 04:43:39,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:39,442 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:40,242 INFO L272 TraceCheckUtils]: 0: Hoare triple {4940#true} call ULTIMATE.init(); {4940#true} is VALID [2022-04-08 04:43:40,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {4940#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); {4940#true} is VALID [2022-04-08 04:43:40,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4940#true} {4940#true} #69#return; {4940#true} is VALID [2022-04-08 04:43:40,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {4940#true} call #t~ret8 := main(); {4940#true} is VALID [2022-04-08 04:43:40,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {4940#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; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L272 TraceCheckUtils]: 6: Hoare triple {4940#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4940#true} {4940#true} #61#return; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {4940#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L272 TraceCheckUtils]: 12: Hoare triple {4940#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4940#true} {4940#true} #63#return; {4940#true} is VALID [2022-04-08 04:43:40,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {4940#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:40,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:40,244 INFO L272 TraceCheckUtils]: 19: Hoare triple {4996#(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)); {4940#true} is VALID [2022-04-08 04:43:40,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,245 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4940#true} {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:40,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:40,246 INFO L290 TraceCheckUtils]: 25: Hoare triple {4996#(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; {5021#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:40,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {5021#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:40,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:40,247 INFO L272 TraceCheckUtils]: 28: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,248 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4940#true} {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:40,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:40,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5050#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:43:40,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {5050#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:43:40,250 INFO L290 TraceCheckUtils]: 36: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:43:40,250 INFO L272 TraceCheckUtils]: 37: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,250 INFO L290 TraceCheckUtils]: 39: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,251 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4940#true} {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:43:40,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4941#false} is VALID [2022-04-08 04:43:40,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {4941#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4941#false} is VALID [2022-04-08 04:43:40,251 INFO L272 TraceCheckUtils]: 44: Hoare triple {4941#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)); {4941#false} is VALID [2022-04-08 04:43:40,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {4941#false} ~cond := #in~cond; {4941#false} is VALID [2022-04-08 04:43:40,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {4941#false} assume 0 == ~cond; {4941#false} is VALID [2022-04-08 04:43:40,251 INFO L290 TraceCheckUtils]: 47: Hoare triple {4941#false} assume !false; {4941#false} is VALID [2022-04-08 04:43:40,252 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:43:40,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:40,546 INFO L290 TraceCheckUtils]: 47: Hoare triple {4941#false} assume !false; {4941#false} is VALID [2022-04-08 04:43:40,546 INFO L290 TraceCheckUtils]: 46: Hoare triple {4941#false} assume 0 == ~cond; {4941#false} is VALID [2022-04-08 04:43:40,546 INFO L290 TraceCheckUtils]: 45: Hoare triple {4941#false} ~cond := #in~cond; {4941#false} is VALID [2022-04-08 04:43:40,546 INFO L272 TraceCheckUtils]: 44: Hoare triple {4941#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)); {4941#false} is VALID [2022-04-08 04:43:40,546 INFO L290 TraceCheckUtils]: 43: Hoare triple {4941#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4941#false} is VALID [2022-04-08 04:43:40,546 INFO L290 TraceCheckUtils]: 42: Hoare triple {5106#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4941#false} is VALID [2022-04-08 04:43:40,547 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4940#true} {5106#(<= main_~x~0 main_~X~0)} #65#return; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:40,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,547 INFO L290 TraceCheckUtils]: 38: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,547 INFO L272 TraceCheckUtils]: 37: Hoare triple {5106#(<= 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)); {4940#true} is VALID [2022-04-08 04:43:40,547 INFO L290 TraceCheckUtils]: 36: Hoare triple {5106#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:40,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {5128#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:40,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {5132#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5128#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:40,548 INFO L290 TraceCheckUtils]: 33: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:40,549 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4940#true} {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:40,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,549 INFO L272 TraceCheckUtils]: 28: Hoare triple {5132#(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)); {4940#true} is VALID [2022-04-08 04:43:40,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:40,550 INFO L290 TraceCheckUtils]: 26: Hoare triple {5157#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:40,550 INFO L290 TraceCheckUtils]: 25: Hoare triple {5161#(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; {5157#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:40,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {5161#(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); {5161#(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-08 04:43:40,551 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4940#true} {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5161#(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-08 04:43:40,551 INFO L290 TraceCheckUtils]: 22: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,551 INFO L290 TraceCheckUtils]: 21: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,551 INFO L272 TraceCheckUtils]: 19: Hoare triple {5161#(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)); {4940#true} is VALID [2022-04-08 04:43:40,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5161#(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-08 04:43:40,552 INFO L290 TraceCheckUtils]: 17: Hoare triple {4940#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5161#(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-08 04:43:40,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4940#true} {4940#true} #63#return; {4940#true} is VALID [2022-04-08 04:43:40,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,552 INFO L272 TraceCheckUtils]: 12: Hoare triple {4940#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {4940#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4940#true} {4940#true} #61#return; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {4940#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {4940#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; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {4940#true} call #t~ret8 := main(); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4940#true} {4940#true} #69#return; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {4940#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); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {4940#true} call ULTIMATE.init(); {4940#true} is VALID [2022-04-08 04:43:40,553 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:43:40,553 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:40,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819174385] [2022-04-08 04:43:40,554 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:40,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1770914512] [2022-04-08 04:43:40,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1770914512] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:40,554 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:40,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 04:43:40,554 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:40,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2077550965] [2022-04-08 04:43:40,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2077550965] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:40,554 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:40,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:43:40,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [697859963] [2022-04-08 04:43:40,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:40,555 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:43:40,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:40,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:40,576 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-08 04:43:40,576 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:43:40,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:40,576 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:43:40,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:43:40,577 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:40,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:40,855 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-08 04:43:40,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:43:40,856 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:43:40,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:40,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:40,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-08 04:43:40,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:40,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-08 04:43:40,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-08 04:43:40,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:40,885 INFO L225 Difference]: With dead ends: 87 [2022-04-08 04:43:40,885 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 04:43:40,885 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:43:40,886 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:40,886 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:43:40,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 04:43:41,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-08 04:43:41,007 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:41,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:43:41,007 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:43:41,007 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:43:41,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:41,008 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:43:41,008 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:43:41,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:41,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:41,009 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 04:43:41,009 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 04:43:41,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:41,010 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:43:41,010 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:43:41,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:41,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:41,010 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:41,010 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:41,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:43:41,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-08 04:43:41,012 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-08 04:43:41,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:41,012 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-08 04:43:41,012 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:41,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-08 04:43:41,124 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-08 04:43:41,124 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-08 04:43:41,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 04:43:41,124 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:41,125 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:41,142 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 04:43:41,340 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-08 04:43:41,340 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:41,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:41,341 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-08 04:43:41,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:41,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [842518857] [2022-04-08 04:43:41,341 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:43:41,341 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-08 04:43:41,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:41,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685729827] [2022-04-08 04:43:41,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:41,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:41,366 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:41,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1593070509] [2022-04-08 04:43:41,366 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:43:41,366 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:41,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:41,379 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-08 04:43:41,386 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-08 04:43:41,424 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:43:41,424 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:41,425 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 04:43:41,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:41,436 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:42,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {5723#true} call ULTIMATE.init(); {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {5723#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); {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5723#true} {5723#true} #69#return; {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {5723#true} call #t~ret8 := main(); {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {5723#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; {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {5723#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:42,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5723#true} {5723#true} #61#return; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 11: Hoare triple {5723#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L272 TraceCheckUtils]: 12: Hoare triple {5723#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5723#true} {5723#true} #63#return; {5723#true} is VALID [2022-04-08 04:43:42,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {5723#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:42,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:42,074 INFO L272 TraceCheckUtils]: 19: Hoare triple {5779#(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)); {5723#true} is VALID [2022-04-08 04:43:42,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:42,074 INFO L290 TraceCheckUtils]: 21: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:42,074 INFO L290 TraceCheckUtils]: 22: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:42,075 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5723#true} {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:42,075 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#(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); {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:42,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5804#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:42,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {5804#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:42,076 INFO L290 TraceCheckUtils]: 27: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:42,077 INFO L272 TraceCheckUtils]: 28: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:42,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {5723#true} ~cond := #in~cond; {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:42,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:42,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:42,078 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:42,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {5832#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:43:42,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {5832#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5836#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= main_~x~0 1))} is VALID [2022-04-08 04:43:42,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {5836#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:43:42,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:43:42,080 INFO L272 TraceCheckUtils]: 37: Hoare triple {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:42,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {5723#true} ~cond := #in~cond; {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:42,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:42,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:42,082 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:43:42,082 INFO L290 TraceCheckUtils]: 42: Hoare triple {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5863#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:43:42,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {5863#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (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; {5867#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} is VALID [2022-04-08 04:43:42,084 INFO L272 TraceCheckUtils]: 44: Hoare triple {5867#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:42,084 INFO L290 TraceCheckUtils]: 45: Hoare triple {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5875#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:42,084 INFO L290 TraceCheckUtils]: 46: Hoare triple {5875#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5724#false} is VALID [2022-04-08 04:43:42,084 INFO L290 TraceCheckUtils]: 47: Hoare triple {5724#false} assume !false; {5724#false} is VALID [2022-04-08 04:43:42,084 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:43:42,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:43,138 INFO L290 TraceCheckUtils]: 47: Hoare triple {5724#false} assume !false; {5724#false} is VALID [2022-04-08 04:43:43,139 INFO L290 TraceCheckUtils]: 46: Hoare triple {5875#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5724#false} is VALID [2022-04-08 04:43:43,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5875#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:43,140 INFO L272 TraceCheckUtils]: 44: Hoare triple {5891#(= (+ (* 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)); {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:43,141 INFO L290 TraceCheckUtils]: 43: Hoare triple {5895#(= (+ (* 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; {5891#(= (+ (* 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-08 04:43:43,142 INFO L290 TraceCheckUtils]: 42: Hoare triple {5899#(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); {5895#(= (+ (* 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-08 04:43:43,143 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5899#(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-08 04:43:43,143 INFO L290 TraceCheckUtils]: 40: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:43,143 INFO L290 TraceCheckUtils]: 39: Hoare triple {5913#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:43,143 INFO L290 TraceCheckUtils]: 38: Hoare triple {5723#true} ~cond := #in~cond; {5913#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:43:43,144 INFO L272 TraceCheckUtils]: 37: Hoare triple {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:43,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {5920#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:43:43,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5920#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:43:43,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {5928#(or (<= (+ main_~x~0 1) main_~X~0) (not (= (+ 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))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5924#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {5723#true} assume !!(~x~0 <= ~X~0); {5928#(or (<= (+ main_~x~0 1) main_~X~0) (not (= (+ 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))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:43:43,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5723#true} {5723#true} #65#return; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L272 TraceCheckUtils]: 28: Hoare triple {5723#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {5723#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {5723#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {5723#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 24: Hoare triple {5723#true} assume !!(~x~0 <= ~X~0); {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5723#true} {5723#true} #65#return; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:43,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L272 TraceCheckUtils]: 19: Hoare triple {5723#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {5723#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {5723#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5723#true} {5723#true} #63#return; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {5723#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {5723#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5723#true} {5723#true} #61#return; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {5723#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {5723#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; {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {5723#true} call #t~ret8 := main(); {5723#true} is VALID [2022-04-08 04:43:43,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5723#true} {5723#true} #69#return; {5723#true} is VALID [2022-04-08 04:43:43,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-08 04:43:43,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {5723#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); {5723#true} is VALID [2022-04-08 04:43:43,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {5723#true} call ULTIMATE.init(); {5723#true} is VALID [2022-04-08 04:43:43,285 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 04:43:43,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:43,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685729827] [2022-04-08 04:43:43,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:43,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1593070509] [2022-04-08 04:43:43,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1593070509] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:43,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:43,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-08 04:43:43,285 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:43,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [842518857] [2022-04-08 04:43:43,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [842518857] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:43,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:43,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 04:43:43,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142300284] [2022-04-08 04:43:43,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:43,286 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:43:43,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:43,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:43,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:43,353 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 04:43:43,353 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:43,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 04:43:43,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=424, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:43:43,353 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:44,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:44,698 INFO L93 Difference]: Finished difference Result 90 states and 98 transitions. [2022-04-08 04:43:44,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:43:44,698 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:43:44,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:44,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:44,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-08 04:43:44,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:44,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-08 04:43:44,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-08 04:43:44,762 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-08 04:43:44,763 INFO L225 Difference]: With dead ends: 90 [2022-04-08 04:43:44,763 INFO L226 Difference]: Without dead ends: 82 [2022-04-08 04:43:44,764 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=114, Invalid=588, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:43:44,764 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 15 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 357 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 357 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:44,764 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 192 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 357 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:43:44,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-08 04:43:44,911 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 73. [2022-04-08 04:43:44,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:44,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:44,915 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:44,915 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:44,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:44,930 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-08 04:43:44,930 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-08 04:43:44,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:44,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:44,931 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-08 04:43:44,931 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-08 04:43:44,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:44,932 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-08 04:43:44,932 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-08 04:43:44,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:44,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:44,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:44,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:44,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:44,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:43:44,934 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-08 04:43:44,934 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:44,934 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:43:44,934 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:44,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:43:45,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:45,064 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:43:45,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:43:45,064 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:45,064 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:45,085 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-08 04:43:45,265 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-08 04:43:45,265 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:45,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:45,265 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-08 04:43:45,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:45,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [961309414] [2022-04-08 04:43:45,266 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:43:45,266 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-08 04:43:45,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:45,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295018659] [2022-04-08 04:43:45,266 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:45,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:45,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:45,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1398978263] [2022-04-08 04:43:45,278 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:43:45,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:45,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:45,288 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-08 04:43:45,288 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-08 04:43:45,335 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:43:45,336 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:45,337 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 04:43:45,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:45,350 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:49,225 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:43:52,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {6531#true} call ULTIMATE.init(); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {6531#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); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6531#true} {6531#true} #69#return; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {6531#true} call #t~ret8 := main(); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {6531#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; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L272 TraceCheckUtils]: 6: Hoare triple {6531#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6531#true} {6531#true} #61#return; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {6531#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L272 TraceCheckUtils]: 12: Hoare triple {6531#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:52,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:52,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:52,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:52,060 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6531#true} {6531#true} #63#return; {6531#true} is VALID [2022-04-08 04:43:52,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {6531#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,060 INFO L272 TraceCheckUtils]: 19: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:52,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:52,061 INFO L290 TraceCheckUtils]: 21: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:52,061 INFO L290 TraceCheckUtils]: 22: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:52,061 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6531#true} {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:43:52,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:43:52,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:43:52,063 INFO L272 TraceCheckUtils]: 28: Hoare triple {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {6531#true} is VALID [2022-04-08 04:43:52,063 INFO L290 TraceCheckUtils]: 29: Hoare triple {6531#true} ~cond := #in~cond; {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:52,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:52,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:52,064 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:43:52,065 INFO L290 TraceCheckUtils]: 33: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:43:52,065 INFO L290 TraceCheckUtils]: 34: Hoare triple {6612#(and (= 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; {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,066 INFO L290 TraceCheckUtils]: 36: Hoare triple {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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-08 04:43:52,066 INFO L272 TraceCheckUtils]: 37: Hoare triple {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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)); {6531#true} is VALID [2022-04-08 04:43:52,066 INFO L290 TraceCheckUtils]: 38: Hoare triple {6531#true} ~cond := #in~cond; {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:52,067 INFO L290 TraceCheckUtils]: 39: Hoare triple {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:52,067 INFO L290 TraceCheckUtils]: 40: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:52,068 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,069 INFO L290 TraceCheckUtils]: 42: Hoare triple {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:43:52,070 INFO L290 TraceCheckUtils]: 43: Hoare triple {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6673#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:43:52,071 INFO L290 TraceCheckUtils]: 44: Hoare triple {6673#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6677#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:43:52,073 INFO L290 TraceCheckUtils]: 45: Hoare triple {6677#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6681#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:43:52,076 INFO L272 TraceCheckUtils]: 46: Hoare triple {6681#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 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)); {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:52,076 INFO L290 TraceCheckUtils]: 47: Hoare triple {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:52,076 INFO L290 TraceCheckUtils]: 48: Hoare triple {6689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6532#false} is VALID [2022-04-08 04:43:52,076 INFO L290 TraceCheckUtils]: 49: Hoare triple {6532#false} assume !false; {6532#false} is VALID [2022-04-08 04:43:52,076 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:43:52,077 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:57,366 INFO L290 TraceCheckUtils]: 49: Hoare triple {6532#false} assume !false; {6532#false} is VALID [2022-04-08 04:43:57,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {6689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6532#false} is VALID [2022-04-08 04:43:57,367 INFO L290 TraceCheckUtils]: 47: Hoare triple {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:43:57,367 INFO L272 TraceCheckUtils]: 46: Hoare triple {6705#(= (+ (* 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)); {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:43:57,368 INFO L290 TraceCheckUtils]: 45: Hoare triple {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6705#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:43:57,370 INFO L290 TraceCheckUtils]: 44: Hoare triple {6713#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6709#(= (+ (* 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-08 04:43:57,370 INFO L290 TraceCheckUtils]: 43: Hoare triple {6709#(= (+ (* 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; {6713#(= (+ (* (* 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-08 04:43:57,371 INFO L290 TraceCheckUtils]: 42: Hoare triple {6709#(= (+ (* 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); {6709#(= (+ (* 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-08 04:43:57,371 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6723#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {6709#(= (+ (* 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-08 04:43:57,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:57,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {6733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:43:57,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {6531#true} ~cond := #in~cond; {6733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:43:57,372 INFO L272 TraceCheckUtils]: 37: Hoare triple {6723#(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)); {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L290 TraceCheckUtils]: 36: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6723#(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-08 04:43:57,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {6531#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {6531#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {6531#true} assume !!(~x~0 <= ~X~0); {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6531#true} {6531#true} #65#return; {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:57,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L272 TraceCheckUtils]: 28: Hoare triple {6531#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 27: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {6531#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {6531#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {6531#true} assume !!(~x~0 <= ~X~0); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6531#true} {6531#true} #65#return; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 22: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 21: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L272 TraceCheckUtils]: 19: Hoare triple {6531#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {6531#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6531#true} {6531#true} #63#return; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:57,374 INFO L272 TraceCheckUtils]: 12: Hoare triple {6531#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {6531#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6531#true} {6531#true} #61#return; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L272 TraceCheckUtils]: 6: Hoare triple {6531#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {6531#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; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {6531#true} call #t~ret8 := main(); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6531#true} {6531#true} #69#return; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {6531#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); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {6531#true} call ULTIMATE.init(); {6531#true} is VALID [2022-04-08 04:43:57,375 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:43:57,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:57,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295018659] [2022-04-08 04:43:57,376 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:57,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1398978263] [2022-04-08 04:43:57,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1398978263] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:57,376 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:57,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-08 04:43:57,376 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:57,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [961309414] [2022-04-08 04:43:57,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [961309414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:57,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:57,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 04:43:57,376 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [119837226] [2022-04-08 04:43:57,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:57,377 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:43:57,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:57,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:57,415 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-08 04:43:57,416 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 04:43:57,416 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:57,416 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 04:43:57,416 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=328, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:43:57,416 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:58,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:58,892 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-08 04:43:58,892 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:43:58,892 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:43:58,893 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:58,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:58,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:43:58,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:58,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:43:58,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-08 04:43:59,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:59,020 INFO L225 Difference]: With dead ends: 88 [2022-04-08 04:43:59,020 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 04:43:59,020 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:43:59,020 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 20 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 390 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 390 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:59,020 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 198 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 390 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:43:59,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 04:43:59,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 75. [2022-04-08 04:43:59,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:59,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:59,303 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:59,303 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:59,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:59,304 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:43:59,304 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:43:59,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:59,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:59,305 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:43:59,305 INFO L87 Difference]: Start difference. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:43:59,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:59,306 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:43:59,306 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:43:59,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:59,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:59,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:59,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:59,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:43:59,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2022-04-08 04:43:59,308 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 50 [2022-04-08 04:43:59,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:59,308 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2022-04-08 04:43:59,308 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:43:59,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 83 transitions. [2022-04-08 04:43:59,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:59,495 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2022-04-08 04:43:59,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:43:59,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:59,495 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:59,513 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-08 04:43:59,696 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-08 04:43:59,696 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:59,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:59,696 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-08 04:43:59,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:59,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [612649454] [2022-04-08 04:43:59,697 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:43:59,697 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-08 04:43:59,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:59,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2426657] [2022-04-08 04:43:59,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:59,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:59,709 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:59,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1240276712] [2022-04-08 04:43:59,709 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:43:59,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:59,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:59,719 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-08 04:43:59,767 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-08 04:43:59,782 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:43:59,782 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:59,783 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 04:43:59,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:59,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:44:00,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {7352#true} call ULTIMATE.init(); {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {7352#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); {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7352#true} {7352#true} #69#return; {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {7352#true} call #t~ret8 := main(); {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {7352#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; {7352#true} is VALID [2022-04-08 04:44:00,759 INFO L272 TraceCheckUtils]: 6: Hoare triple {7352#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:00,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {7352#true} ~cond := #in~cond; {7378#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:44:00,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {7378#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7382#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:44:00,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {7382#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7382#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:44:00,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7382#(not (= |assume_abort_if_not_#in~cond| 0))} {7352#true} #61#return; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:00,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:00,761 INFO L272 TraceCheckUtils]: 12: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:00,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:00,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:00,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:00,762 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7352#true} {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:00,762 INFO L290 TraceCheckUtils]: 17: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,763 INFO L290 TraceCheckUtils]: 18: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,763 INFO L272 TraceCheckUtils]: 19: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 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)); {7352#true} is VALID [2022-04-08 04:44:00,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:00,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:00,763 INFO L290 TraceCheckUtils]: 22: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:00,763 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7352#true} {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,764 INFO L290 TraceCheckUtils]: 24: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7436#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,765 INFO L290 TraceCheckUtils]: 26: Hoare triple {7436#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,765 INFO L290 TraceCheckUtils]: 27: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,765 INFO L272 TraceCheckUtils]: 28: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 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)); {7352#true} is VALID [2022-04-08 04:44:00,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:00,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:00,766 INFO L290 TraceCheckUtils]: 31: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:00,766 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7352#true} {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,767 INFO L290 TraceCheckUtils]: 33: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:00,767 INFO L290 TraceCheckUtils]: 34: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7465#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:44:00,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {7465#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-08 04:44:00,768 INFO L290 TraceCheckUtils]: 36: Hoare triple {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-08 04:44:00,768 INFO L272 TraceCheckUtils]: 37: Hoare triple {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= 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)); {7352#true} is VALID [2022-04-08 04:44:00,769 INFO L290 TraceCheckUtils]: 38: Hoare triple {7352#true} ~cond := #in~cond; {7480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:00,769 INFO L290 TraceCheckUtils]: 39: Hoare triple {7480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:00,769 INFO L290 TraceCheckUtils]: 40: Hoare triple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:00,770 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #65#return; {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-08 04:44:00,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {7494#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= main_~x~0 2) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-08 04:44:00,771 INFO L290 TraceCheckUtils]: 43: Hoare triple {7494#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= main_~x~0 2) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7498#(and (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-08 04:44:00,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {7498#(and (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7502#(and (= main_~x~0 3) (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-08 04:44:00,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {7502#(and (= main_~x~0 3) (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7506#(and (<= main_~X~0 10) (= (* main_~Y~0 3) main_~yx~0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-08 04:44:00,774 INFO L272 TraceCheckUtils]: 46: Hoare triple {7506#(and (<= main_~X~0 10) (= (* main_~Y~0 3) main_~yx~0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~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)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:00,774 INFO L290 TraceCheckUtils]: 47: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:00,774 INFO L290 TraceCheckUtils]: 48: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7353#false} is VALID [2022-04-08 04:44:00,774 INFO L290 TraceCheckUtils]: 49: Hoare triple {7353#false} assume !false; {7353#false} is VALID [2022-04-08 04:44:00,775 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 25 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 04:44:00,775 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:44:03,752 INFO L290 TraceCheckUtils]: 49: Hoare triple {7353#false} assume !false; {7353#false} is VALID [2022-04-08 04:44:03,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7353#false} is VALID [2022-04-08 04:44:03,753 INFO L290 TraceCheckUtils]: 47: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:03,754 INFO L272 TraceCheckUtils]: 46: Hoare triple {7530#(= (+ (* 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)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:03,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {7534#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7530#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:44:03,756 INFO L290 TraceCheckUtils]: 44: Hoare triple {7538#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7534#(= (+ (* 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-08 04:44:03,758 INFO L290 TraceCheckUtils]: 43: Hoare triple {7542#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7538#(= (+ (* (* 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-08 04:44:03,758 INFO L290 TraceCheckUtils]: 42: Hoare triple {7546#(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); {7542#(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-08 04:44:03,759 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} {7550#(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)))} #65#return; {7546#(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-08 04:44:03,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:03,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {7560#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:03,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {7352#true} ~cond := #in~cond; {7560#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:44:03,760 INFO L272 TraceCheckUtils]: 37: Hoare triple {7550#(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)); {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 36: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7550#(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-08 04:44:03,761 INFO L290 TraceCheckUtils]: 35: Hoare triple {7352#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 34: Hoare triple {7352#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 33: Hoare triple {7352#true} assume !!(~x~0 <= ~X~0); {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7352#true} {7352#true} #65#return; {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:03,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L272 TraceCheckUtils]: 28: Hoare triple {7352#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 27: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 26: Hoare triple {7352#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 25: Hoare triple {7352#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {7352#true} assume !!(~x~0 <= ~X~0); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7352#true} {7352#true} #65#return; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 22: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 21: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 20: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L272 TraceCheckUtils]: 19: Hoare triple {7352#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 18: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 17: Hoare triple {7352#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7352#true} {7352#true} #63#return; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L272 TraceCheckUtils]: 12: Hoare triple {7352#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:03,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {7352#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7352#true} {7352#true} #61#return; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 9: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L272 TraceCheckUtils]: 6: Hoare triple {7352#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {7352#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; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {7352#true} call #t~ret8 := main(); {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7352#true} {7352#true} #69#return; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {7352#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); {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {7352#true} call ULTIMATE.init(); {7352#true} is VALID [2022-04-08 04:44:03,763 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:44:03,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:44:03,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2426657] [2022-04-08 04:44:03,764 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:44:03,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1240276712] [2022-04-08 04:44:03,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1240276712] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:44:03,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:44:03,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-08 04:44:03,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:44:03,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [612649454] [2022-04-08 04:44:03,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [612649454] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:44:03,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:44:03,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 04:44:03,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664664540] [2022-04-08 04:44:03,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:44:03,765 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-08 04:44:03,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:44:03,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-08 04:44:03,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:44:03,811 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 04:44:03,811 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:44:03,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 04:44:03,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:44:03,812 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-08 04:44:05,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:44:05,678 INFO L93 Difference]: Finished difference Result 101 states and 113 transitions. [2022-04-08 04:44:05,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 04:44:05,678 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-08 04:44:05,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:44:05,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-08 04:44:05,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2022-04-08 04:44:05,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-08 04:44:05,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2022-04-08 04:44:05,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 77 transitions. [2022-04-08 04:44:05,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:44:05,748 INFO L225 Difference]: With dead ends: 101 [2022-04-08 04:44:05,748 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 04:44:05,748 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=144, Invalid=786, Unknown=0, NotChecked=0, Total=930 [2022-04-08 04:44:05,749 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 28 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 639 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 652 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 639 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:44:05,749 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 209 Invalid, 652 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 639 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 04:44:05,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 04:44:05,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-08 04:44:05,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:44:05,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:44:05,910 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:44:05,910 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:44:05,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:44:05,911 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-08 04:44:05,911 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-08 04:44:05,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:44:05,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:44:05,912 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 88 states. [2022-04-08 04:44:05,912 INFO L87 Difference]: Start difference. First operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 88 states. [2022-04-08 04:44:05,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:44:05,913 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-08 04:44:05,913 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-08 04:44:05,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:44:05,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:44:05,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:44:05,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:44:05,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:44:05,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-08 04:44:05,918 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 50 [2022-04-08 04:44:05,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:44:05,918 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-08 04:44:05,918 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-08 04:44:05,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-08 04:44:06,097 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-08 04:44:06,098 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-08 04:44:06,098 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:44:06,098 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:44:06,098 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:44:06,117 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-08 04:44:06,298 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-08 04:44:06,299 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:44:06,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:44:06,299 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-08 04:44:06,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:44:06,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1342776685] [2022-04-08 04:44:06,299 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:44:06,300 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-08 04:44:06,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:44:06,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1850240805] [2022-04-08 04:44:06,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:44:06,300 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:44:06,311 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:44:06,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1243220787] [2022-04-08 04:44:06,311 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:44:06,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:44:06,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:44:06,337 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-08 04:44:06,339 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-08 04:44:06,382 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:44:06,382 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:44:06,383 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 04:44:06,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:44:06,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:44:20,540 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:21,596 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:27,757 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:36,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {8241#true} call ULTIMATE.init(); {8241#true} is VALID [2022-04-08 04:44:36,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {8241#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); {8241#true} is VALID [2022-04-08 04:44:36,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8241#true} {8241#true} #69#return; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {8241#true} call #t~ret8 := main(); {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {8241#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; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L272 TraceCheckUtils]: 6: Hoare triple {8241#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8241#true} {8241#true} #61#return; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {8241#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {8241#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:36,062 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8241#true} {8241#true} #63#return; {8241#true} is VALID [2022-04-08 04:44:36,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {8241#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,064 INFO L272 TraceCheckUtils]: 19: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:36,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:36,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:36,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:36,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8241#true} {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,065 INFO L290 TraceCheckUtils]: 24: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,066 INFO L290 TraceCheckUtils]: 25: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,066 INFO L290 TraceCheckUtils]: 26: Hoare triple {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:44:36,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:44:36,067 INFO L272 TraceCheckUtils]: 28: Hoare triple {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:36,067 INFO L290 TraceCheckUtils]: 29: Hoare triple {8241#true} ~cond := #in~cond; {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:36,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:36,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:36,068 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-08 04:44:36,068 INFO L290 TraceCheckUtils]: 33: Hoare triple {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-08 04:44:36,069 INFO L290 TraceCheckUtils]: 34: Hoare triple {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:44:36,069 INFO L290 TraceCheckUtils]: 35: Hoare triple {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:44:36,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:44:36,070 INFO L272 TraceCheckUtils]: 37: Hoare triple {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:36,070 INFO L290 TraceCheckUtils]: 38: Hoare triple {8241#true} ~cond := #in~cond; {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:36,070 INFO L290 TraceCheckUtils]: 39: Hoare triple {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:36,071 INFO L290 TraceCheckUtils]: 40: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:36,072 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:44:36,072 INFO L290 TraceCheckUtils]: 42: Hoare triple {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:44:36,073 INFO L290 TraceCheckUtils]: 43: Hoare triple {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8384#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-08 04:44:36,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {8384#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8388#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-08 04:44:38,077 WARN L290 TraceCheckUtils]: 45: Hoare triple {8388#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8392#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is UNKNOWN [2022-04-08 04:44:38,079 INFO L272 TraceCheckUtils]: 46: Hoare triple {8392#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:38,080 INFO L290 TraceCheckUtils]: 47: Hoare triple {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8400#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:38,080 INFO L290 TraceCheckUtils]: 48: Hoare triple {8400#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8242#false} is VALID [2022-04-08 04:44:38,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {8242#false} assume !false; {8242#false} is VALID [2022-04-08 04:44:38,080 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:44:38,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:44:42,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {8242#false} assume !false; {8242#false} is VALID [2022-04-08 04:44:42,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {8400#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8242#false} is VALID [2022-04-08 04:44:42,981 INFO L290 TraceCheckUtils]: 47: Hoare triple {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8400#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:42,981 INFO L272 TraceCheckUtils]: 46: Hoare triple {8416#(= (+ (* 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)); {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:42,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8416#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:44:42,984 INFO L290 TraceCheckUtils]: 44: Hoare triple {8424#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8420#(= (+ (* 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-08 04:44:42,984 INFO L290 TraceCheckUtils]: 43: Hoare triple {8420#(= (+ (* 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; {8424#(= (+ (* (* 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-08 04:44:42,985 INFO L290 TraceCheckUtils]: 42: Hoare triple {8420#(= (+ (* 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); {8420#(= (+ (* 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-08 04:44:42,985 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8434#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {8420#(= (+ (* 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-08 04:44:42,986 INFO L290 TraceCheckUtils]: 40: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:42,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {8444#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:42,986 INFO L290 TraceCheckUtils]: 38: Hoare triple {8241#true} ~cond := #in~cond; {8444#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:44:42,986 INFO L272 TraceCheckUtils]: 37: Hoare triple {8434#(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)); {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 36: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8434#(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-08 04:44:42,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {8241#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {8241#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {8241#true} assume !!(~x~0 <= ~X~0); {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8241#true} {8241#true} #65#return; {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:42,987 INFO L272 TraceCheckUtils]: 28: Hoare triple {8241#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {8241#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {8241#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {8241#true} assume !!(~x~0 <= ~X~0); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8241#true} {8241#true} #65#return; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 22: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 20: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L272 TraceCheckUtils]: 19: Hoare triple {8241#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 18: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {8241#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8241#true} {8241#true} #63#return; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L272 TraceCheckUtils]: 12: Hoare triple {8241#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {8241#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8241#true} is VALID [2022-04-08 04:44:42,988 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8241#true} {8241#true} #61#return; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L272 TraceCheckUtils]: 6: Hoare triple {8241#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 5: Hoare triple {8241#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; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L272 TraceCheckUtils]: 4: Hoare triple {8241#true} call #t~ret8 := main(); {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8241#true} {8241#true} #69#return; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 2: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {8241#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); {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L272 TraceCheckUtils]: 0: Hoare triple {8241#true} call ULTIMATE.init(); {8241#true} is VALID [2022-04-08 04:44:42,989 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:44:42,989 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:44:42,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1850240805] [2022-04-08 04:44:42,989 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:44:42,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1243220787] [2022-04-08 04:44:42,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1243220787] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:44:42,990 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:44:42,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-08 04:44:42,990 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:44:42,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1342776685] [2022-04-08 04:44:42,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1342776685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:44:42,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:44:42,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:44:42,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257339487] [2022-04-08 04:44:42,990 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:44:42,990 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:44:42,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:44:42,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:44:45,030 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:44:45,030 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:44:45,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:44:45,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:44:45,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=365, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:44:45,031 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:44:48,665 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-08 04:44:52,450 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:44:54,643 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-08 04:44:59,395 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-08 04:45:06,206 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-08 04:45:07,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:07,868 INFO L93 Difference]: Finished difference Result 106 states and 117 transitions. [2022-04-08 04:45:07,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:45:07,869 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:45:07,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:45:07,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:07,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:45:07,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:07,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:45:07,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-08 04:45:09,946 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-08 04:45:09,947 INFO L225 Difference]: With dead ends: 106 [2022-04-08 04:45:09,947 INFO L226 Difference]: Without dead ends: 104 [2022-04-08 04:45:09,948 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:45:09,948 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 426 mSolverCounterSat, 7 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 437 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 426 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:45:09,948 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 213 Invalid, 437 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 426 Invalid, 4 Unknown, 0 Unchecked, 12.8s Time] [2022-04-08 04:45:09,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-08 04:45:10,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 100. [2022-04-08 04:45:10,158 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:45:10,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:45:10,160 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:45:10,160 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:45:10,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:10,163 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2022-04-08 04:45:10,163 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2022-04-08 04:45:10,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:10,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:10,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 104 states. [2022-04-08 04:45:10,168 INFO L87 Difference]: Start difference. First operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 104 states. [2022-04-08 04:45:10,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:10,170 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2022-04-08 04:45:10,170 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2022-04-08 04:45:10,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:10,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:10,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:45:10,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:45:10,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:45:10,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 109 transitions. [2022-04-08 04:45:10,172 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 109 transitions. Word has length 50 [2022-04-08 04:45:10,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:45:10,172 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 109 transitions. [2022-04-08 04:45:10,172 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:10,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 109 transitions. [2022-04-08 04:45:12,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 108 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:12,398 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 109 transitions. [2022-04-08 04:45:12,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:45:12,398 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:45:12,399 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:45:12,415 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-08 04:45:12,599 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-08 04:45:12,599 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:45:12,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:45:12,600 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-08 04:45:12,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:12,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1050638735] [2022-04-08 04:45:12,600 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:45:12,600 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-08 04:45:12,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:45:12,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [899636808] [2022-04-08 04:45:12,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:45:12,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:45:12,618 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:45:12,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1836873826] [2022-04-08 04:45:12,618 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:45:12,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:45:12,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:45:12,619 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-08 04:45:12,620 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-08 04:45:12,671 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:45:12,671 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:45:12,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 04:45:12,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:45:12,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:45:12,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#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); {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9191#true} {9191#true} #69#return; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {9191#true} call #t~ret8 := main(); {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {9191#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; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L272 TraceCheckUtils]: 6: Hoare triple {9191#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9191#true} {9191#true} #61#return; {9191#true} is VALID [2022-04-08 04:45:12,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {9191#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L272 TraceCheckUtils]: 12: Hoare triple {9191#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9191#true} {9191#true} #63#return; {9191#true} is VALID [2022-04-08 04:45:12,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {9191#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:45:12,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:45:12,984 INFO L272 TraceCheckUtils]: 19: Hoare triple {9247#(<= (* 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)); {9191#true} is VALID [2022-04-08 04:45:12,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:12,985 INFO L290 TraceCheckUtils]: 21: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:12,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,985 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9191#true} {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:45:12,985 INFO L290 TraceCheckUtils]: 24: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:45:12,986 INFO L290 TraceCheckUtils]: 25: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:45:12,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:45:12,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:45:12,987 INFO L272 TraceCheckUtils]: 28: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:12,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:12,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:12,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,988 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9191#true} {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:45:12,988 INFO L290 TraceCheckUtils]: 33: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 34: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:45:12,989 INFO L272 TraceCheckUtils]: 37: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:12,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:12,990 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9191#true} {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:45:12,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {9192#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 45: Hoare triple {9192#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L272 TraceCheckUtils]: 46: Hoare triple {9192#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 47: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 48: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L290 TraceCheckUtils]: 49: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-08 04:45:12,991 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:45:12,991 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:45:13,173 INFO L290 TraceCheckUtils]: 49: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 48: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 47: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L272 TraceCheckUtils]: 46: Hoare triple {9192#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 45: Hoare triple {9192#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 44: Hoare triple {9192#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 43: Hoare triple {9364#(< main_~v~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9192#false} is VALID [2022-04-08 04:45:13,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {9364#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9364#(< main_~v~0 0)} is VALID [2022-04-08 04:45:13,175 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9191#true} {9364#(< main_~v~0 0)} #65#return; {9364#(< main_~v~0 0)} is VALID [2022-04-08 04:45:13,175 INFO L290 TraceCheckUtils]: 40: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,175 INFO L290 TraceCheckUtils]: 39: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:13,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:13,175 INFO L272 TraceCheckUtils]: 37: Hoare triple {9364#(< 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)); {9191#true} is VALID [2022-04-08 04:45:13,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {9364#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9364#(< main_~v~0 0)} is VALID [2022-04-08 04:45:13,175 INFO L290 TraceCheckUtils]: 35: Hoare triple {9364#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9364#(< main_~v~0 0)} is VALID [2022-04-08 04:45:13,176 INFO L290 TraceCheckUtils]: 34: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9364#(< main_~v~0 0)} is VALID [2022-04-08 04:45:13,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:45:13,176 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9191#true} {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:45:13,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:13,177 INFO L290 TraceCheckUtils]: 29: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:13,177 INFO L272 TraceCheckUtils]: 28: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {9191#true} is VALID [2022-04-08 04:45:13,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:45:13,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:45:13,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:45:13,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:45:13,178 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9191#true} {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:45:13,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:13,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:13,179 INFO L272 TraceCheckUtils]: 19: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (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)); {9191#true} is VALID [2022-04-08 04:45:13,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:45:13,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {9191#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:45:13,180 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9191#true} {9191#true} #63#return; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 14: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L272 TraceCheckUtils]: 12: Hoare triple {9191#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 11: Hoare triple {9191#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9191#true} {9191#true} #61#return; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {9191#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {9191#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; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {9191#true} call #t~ret8 := main(); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9191#true} {9191#true} #69#return; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#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); {9191#true} is VALID [2022-04-08 04:45:13,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-08 04:45:13,181 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:45:13,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:45:13,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [899636808] [2022-04-08 04:45:13,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:45:13,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1836873826] [2022-04-08 04:45:13,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1836873826] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:45:13,181 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:45:13,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 04:45:13,181 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:45:13,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1050638735] [2022-04-08 04:45:13,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1050638735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:45:13,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:45:13,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:45:13,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [316138758] [2022-04-08 04:45:13,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:45:13,182 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:45:13,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:45:13,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:13,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:13,284 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:45:13,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:13,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:45:13,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:45:13,284 INFO L87 Difference]: Start difference. First operand 100 states and 109 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:13,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:13,762 INFO L93 Difference]: Finished difference Result 131 states and 149 transitions. [2022-04-08 04:45:13,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:45:13,762 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:45:13,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:45:13,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:13,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-08 04:45:13,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:13,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-08 04:45:13,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-08 04:45:13,835 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-08 04:45:13,837 INFO L225 Difference]: With dead ends: 131 [2022-04-08 04:45:13,837 INFO L226 Difference]: Without dead ends: 118 [2022-04-08 04:45:13,837 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:45:13,838 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:45:13,838 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:45:13,838 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-08 04:45:14,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 113. [2022-04-08 04:45:14,100 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:45:14,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:45:14,119 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:45:14,120 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:45:14,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:14,121 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2022-04-08 04:45:14,121 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2022-04-08 04:45:14,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:14,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:14,122 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 118 states. [2022-04-08 04:45:14,122 INFO L87 Difference]: Start difference. First operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 118 states. [2022-04-08 04:45:14,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:14,124 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2022-04-08 04:45:14,124 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2022-04-08 04:45:14,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:14,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:14,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:45:14,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:45:14,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:45:14,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 127 transitions. [2022-04-08 04:45:14,127 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 127 transitions. Word has length 50 [2022-04-08 04:45:14,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:45:14,127 INFO L478 AbstractCegarLoop]: Abstraction has 113 states and 127 transitions. [2022-04-08 04:45:14,127 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:14,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 113 states and 127 transitions. [2022-04-08 04:45:16,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 126 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:16,418 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 127 transitions. [2022-04-08 04:45:16,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:45:16,419 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:45:16,419 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:45:16,441 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-08 04:45:16,623 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-08 04:45:16,623 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:45:16,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:45:16,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-08 04:45:16,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:16,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1664237596] [2022-04-08 04:45:16,624 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:45:16,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-08 04:45:16,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:45:16,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [514026858] [2022-04-08 04:45:16,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:45:16,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:45:16,639 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:45:16,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2019515922] [2022-04-08 04:45:16,639 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:45:16,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:45:16,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:45:16,642 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-08 04:45:16,643 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-08 04:45:16,684 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:45:16,684 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:45:16,685 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 04:45:16,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:45:16,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:45:17,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {10224#true} call ULTIMATE.init(); {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {10224#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); {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10224#true} {10224#true} #69#return; {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {10224#true} call #t~ret8 := main(); {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {10224#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; {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {10224#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10224#true} {10224#true} #61#return; {10224#true} is VALID [2022-04-08 04:45:17,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {10224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10224#true} is VALID [2022-04-08 04:45:17,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {10224#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {10224#true} ~cond := #in~cond; {10268#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:45:17,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {10268#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10272#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:45:17,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {10272#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10272#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:45:17,295 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10272#(not (= |assume_abort_if_not_#in~cond| 0))} {10224#true} #63#return; {10279#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {10279#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,296 INFO L290 TraceCheckUtils]: 18: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,296 INFO L272 TraceCheckUtils]: 19: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,296 INFO L290 TraceCheckUtils]: 21: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,297 INFO L290 TraceCheckUtils]: 22: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,297 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10224#true} {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,297 INFO L290 TraceCheckUtils]: 24: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10308#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {10308#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,299 INFO L272 TraceCheckUtils]: 28: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,300 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#true} {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10337#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {10337#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,302 INFO L290 TraceCheckUtils]: 36: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,302 INFO L272 TraceCheckUtils]: 37: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,302 INFO L290 TraceCheckUtils]: 38: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,302 INFO L290 TraceCheckUtils]: 40: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,303 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10224#true} {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} #65#return; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,303 INFO L290 TraceCheckUtils]: 42: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:45:17,304 INFO L290 TraceCheckUtils]: 43: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10366#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:45:17,305 INFO L290 TraceCheckUtils]: 44: Hoare triple {10366#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10370#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~x~0 (- 3)) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:45:17,305 INFO L290 TraceCheckUtils]: 45: Hoare triple {10370#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~x~0 (- 3)) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10374#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:45:17,306 INFO L272 TraceCheckUtils]: 46: Hoare triple {10374#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:45:17,307 INFO L290 TraceCheckUtils]: 47: Hoare triple {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:45:17,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {10382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10225#false} is VALID [2022-04-08 04:45:17,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {10225#false} assume !false; {10225#false} is VALID [2022-04-08 04:45:17,307 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 04:45:17,307 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:45:17,974 INFO L290 TraceCheckUtils]: 49: Hoare triple {10225#false} assume !false; {10225#false} is VALID [2022-04-08 04:45:17,975 INFO L290 TraceCheckUtils]: 48: Hoare triple {10382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10225#false} is VALID [2022-04-08 04:45:17,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:45:17,976 INFO L272 TraceCheckUtils]: 46: Hoare triple {10398#(= (+ (* 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)); {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:45:17,976 INFO L290 TraceCheckUtils]: 45: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10398#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:45:17,978 INFO L290 TraceCheckUtils]: 44: Hoare triple {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10402#(= (+ (* 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-08 04:45:17,980 INFO L290 TraceCheckUtils]: 43: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10406#(= (+ (* (* 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-08 04:45:17,980 INFO L290 TraceCheckUtils]: 42: Hoare triple {10402#(= (+ (* 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); {10402#(= (+ (* 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-08 04:45:17,981 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10224#true} {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {10402#(= (+ (* 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-08 04:45:17,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,981 INFO L290 TraceCheckUtils]: 39: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,981 INFO L290 TraceCheckUtils]: 38: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,981 INFO L272 TraceCheckUtils]: 37: Hoare triple {10402#(= (+ (* 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)); {10224#true} is VALID [2022-04-08 04:45:17,981 INFO L290 TraceCheckUtils]: 36: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10402#(= (+ (* 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-08 04:45:17,983 INFO L290 TraceCheckUtils]: 35: Hoare triple {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10402#(= (+ (* 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-08 04:45:17,983 INFO L290 TraceCheckUtils]: 34: Hoare triple {10437#(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; {10406#(= (+ (* (* 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-08 04:45:17,984 INFO L290 TraceCheckUtils]: 33: Hoare triple {10437#(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); {10437#(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-08 04:45:17,984 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#true} {10437#(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)))))} #65#return; {10437#(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-08 04:45:17,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,984 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,985 INFO L272 TraceCheckUtils]: 28: Hoare triple {10437#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {10437#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10437#(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-08 04:45:17,986 INFO L290 TraceCheckUtils]: 26: Hoare triple {10462#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10437#(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-08 04:45:17,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10462#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:45:17,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !!(~x~0 <= ~X~0); {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-08 04:45:17,989 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10224#true} {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #65#return; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-08 04:45:17,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,989 INFO L290 TraceCheckUtils]: 21: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,989 INFO L290 TraceCheckUtils]: 20: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,989 INFO L272 TraceCheckUtils]: 19: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {10224#true} is VALID [2022-04-08 04:45:17,990 INFO L290 TraceCheckUtils]: 18: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-08 04:45:17,990 INFO L290 TraceCheckUtils]: 17: Hoare triple {10224#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-08 04:45:17,990 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10224#true} {10224#true} #63#return; {10224#true} is VALID [2022-04-08 04:45:17,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,990 INFO L290 TraceCheckUtils]: 14: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L272 TraceCheckUtils]: 12: Hoare triple {10224#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {10224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10224#true} {10224#true} #61#return; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 9: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 7: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L272 TraceCheckUtils]: 6: Hoare triple {10224#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {10224#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; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {10224#true} call #t~ret8 := main(); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10224#true} {10224#true} #69#return; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {10224#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); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {10224#true} call ULTIMATE.init(); {10224#true} is VALID [2022-04-08 04:45:17,991 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-08 04:45:17,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:45:17,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [514026858] [2022-04-08 04:45:17,992 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:45:17,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2019515922] [2022-04-08 04:45:17,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2019515922] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:45:17,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:45:17,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 21 [2022-04-08 04:45:17,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:45:17,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1664237596] [2022-04-08 04:45:17,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1664237596] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:45:17,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:45:17,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 04:45:17,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1587926024] [2022-04-08 04:45:17,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:45:17,993 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:45:17,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:45:17,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:18,028 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-08 04:45:18,028 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 04:45:18,028 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:18,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 04:45:18,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:45:18,028 INFO L87 Difference]: Start difference. First operand 113 states and 127 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:19,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:19,367 INFO L93 Difference]: Finished difference Result 126 states and 142 transitions. [2022-04-08 04:45:19,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:45:19,367 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:45:19,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:45:19,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:19,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-08 04:45:19,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:19,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-08 04:45:19,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-08 04:45:19,421 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-08 04:45:19,423 INFO L225 Difference]: With dead ends: 126 [2022-04-08 04:45:19,423 INFO L226 Difference]: Without dead ends: 124 [2022-04-08 04:45:19,423 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:45:19,423 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:45:19,423 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 187 Invalid, 475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 04:45:19,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-08 04:45:19,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 120. [2022-04-08 04:45:19,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:45:19,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:45:19,616 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:45:19,617 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:45:19,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:19,620 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2022-04-08 04:45:19,620 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 140 transitions. [2022-04-08 04:45:19,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:19,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:19,620 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 124 states. [2022-04-08 04:45:19,620 INFO L87 Difference]: Start difference. First operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 124 states. [2022-04-08 04:45:19,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:19,632 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2022-04-08 04:45:19,632 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 140 transitions. [2022-04-08 04:45:19,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:19,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:19,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:45:19,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:45:19,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:45:19,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 134 transitions. [2022-04-08 04:45:19,634 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 134 transitions. Word has length 50 [2022-04-08 04:45:19,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:45:19,634 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 134 transitions. [2022-04-08 04:45:19,634 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:45:19,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 134 transitions. [2022-04-08 04:45:21,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 133 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:21,919 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 134 transitions. [2022-04-08 04:45:21,920 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:45:21,920 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:45:21,920 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:45:21,938 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-08 04:45:22,123 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-08 04:45:22,123 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:45:22,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:45:22,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-08 04:45:22,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:22,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [503217617] [2022-04-08 04:45:22,124 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:45:22,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-08 04:45:22,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:45:22,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1711314718] [2022-04-08 04:45:22,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:45:22,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:45:22,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:45:22,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [649966409] [2022-04-08 04:45:22,137 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:45:22,137 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:45:22,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:45:22,140 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-08 04:45:22,163 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-08 04:45:22,219 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:45:22,219 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:45:22,220 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 04:45:22,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:45:22,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:45:42,287 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:45:46,707 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:45:52,998 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:46:01,989 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:46:09,409 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:46:46,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {11290#true} call ULTIMATE.init(); {11290#true} is VALID [2022-04-08 04:46:46,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {11290#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); {11290#true} is VALID [2022-04-08 04:46:46,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11290#true} {11290#true} #69#return; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {11290#true} call #t~ret8 := main(); {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {11290#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; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {11290#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11290#true} {11290#true} #61#return; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {11290#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L272 TraceCheckUtils]: 12: Hoare triple {11290#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:46,509 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11290#true} {11290#true} #63#return; {11290#true} is VALID [2022-04-08 04:46:46,510 INFO L290 TraceCheckUtils]: 17: Hoare triple {11290#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-08 04:46:46,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-08 04:46:46,510 INFO L272 TraceCheckUtils]: 19: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:46,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:46,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:46,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:46,511 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11290#true} {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-08 04:46:46,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-08 04:46:46,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:46:46,512 INFO L290 TraceCheckUtils]: 26: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:46:48,515 WARN L290 TraceCheckUtils]: 27: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is UNKNOWN [2022-04-08 04:46:48,515 INFO L272 TraceCheckUtils]: 28: Hoare triple {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:48,515 INFO L290 TraceCheckUtils]: 29: Hoare triple {11290#true} ~cond := #in~cond; {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:48,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:48,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:48,517 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #65#return; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:46:48,517 INFO L290 TraceCheckUtils]: 33: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !!(~x~0 <= ~X~0); {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-08 04:46:48,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} is VALID [2022-04-08 04:46:48,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} is VALID [2022-04-08 04:46:48,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:46:48,518 INFO L272 TraceCheckUtils]: 37: Hoare triple {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* 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)); {11290#true} is VALID [2022-04-08 04:46:48,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {11290#true} ~cond := #in~cond; {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:48,519 INFO L290 TraceCheckUtils]: 39: Hoare triple {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:48,519 INFO L290 TraceCheckUtils]: 40: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:48,520 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* 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-08 04:46:48,521 INFO L290 TraceCheckUtils]: 42: Hoare triple {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* 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); {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* 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-08 04:46:48,522 INFO L290 TraceCheckUtils]: 43: Hoare triple {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* 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; {11432#(and (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:46:48,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {11432#(and (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11436#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-08 04:46:50,549 WARN L290 TraceCheckUtils]: 45: Hoare triple {11436#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11440#(or (and (not (= main_~X~0 0)) (or (and (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 4) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) main_~v~0) (= (mod (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0))) (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) 0) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (* main_~X~0 2))) (not (= main_~Y~0 0))))))} is UNKNOWN [2022-04-08 04:46:50,556 INFO L272 TraceCheckUtils]: 46: Hoare triple {11440#(or (and (not (= main_~X~0 0)) (or (and (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 4) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) main_~v~0) (= (mod (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0))) (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) 0) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (* main_~X~0 2))) (not (= 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)); {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:50,558 INFO L290 TraceCheckUtils]: 47: Hoare triple {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:50,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {11448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11291#false} is VALID [2022-04-08 04:46:50,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {11291#false} assume !false; {11291#false} is VALID [2022-04-08 04:46:50,559 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:46:50,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:46:55,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {11291#false} assume !false; {11291#false} is VALID [2022-04-08 04:46:55,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {11448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11291#false} is VALID [2022-04-08 04:46:55,902 INFO L290 TraceCheckUtils]: 47: Hoare triple {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:55,902 INFO L272 TraceCheckUtils]: 46: Hoare triple {11464#(= (+ (* 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)); {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:55,903 INFO L290 TraceCheckUtils]: 45: Hoare triple {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11464#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:46:55,905 INFO L290 TraceCheckUtils]: 44: Hoare triple {11472#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11468#(= (+ (* 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-08 04:46:55,906 INFO L290 TraceCheckUtils]: 43: Hoare triple {11468#(= (+ (* 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; {11472#(= (+ (* (* 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-08 04:46:55,906 INFO L290 TraceCheckUtils]: 42: Hoare triple {11468#(= (+ (* 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); {11468#(= (+ (* 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-08 04:46:55,907 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11482#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {11468#(= (+ (* 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-08 04:46:55,907 INFO L290 TraceCheckUtils]: 40: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:55,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {11492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:55,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {11290#true} ~cond := #in~cond; {11492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:46:55,908 INFO L272 TraceCheckUtils]: 37: Hoare triple {11482#(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)); {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11482#(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-08 04:46:55,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {11290#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {11290#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 33: Hoare triple {11290#true} assume !!(~x~0 <= ~X~0); {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11290#true} {11290#true} #65#return; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 31: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 30: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 29: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L272 TraceCheckUtils]: 28: Hoare triple {11290#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 26: Hoare triple {11290#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {11290#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 24: Hoare triple {11290#true} assume !!(~x~0 <= ~X~0); {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11290#true} {11290#true} #65#return; {11290#true} is VALID [2022-04-08 04:46:55,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 21: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 20: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L272 TraceCheckUtils]: 19: Hoare triple {11290#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 18: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 17: Hoare triple {11290#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11290#true} {11290#true} #63#return; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 15: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L272 TraceCheckUtils]: 12: Hoare triple {11290#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {11290#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11290#true} {11290#true} #61#return; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {11290#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {11290#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; {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {11290#true} call #t~ret8 := main(); {11290#true} is VALID [2022-04-08 04:46:55,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11290#true} {11290#true} #69#return; {11290#true} is VALID [2022-04-08 04:46:55,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-08 04:46:55,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {11290#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); {11290#true} is VALID [2022-04-08 04:46:55,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {11290#true} call ULTIMATE.init(); {11290#true} is VALID [2022-04-08 04:46:55,911 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:46:55,911 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:55,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1711314718] [2022-04-08 04:46:55,911 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:55,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [649966409] [2022-04-08 04:46:55,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [649966409] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:46:55,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:46:55,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-08 04:46:55,911 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:55,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [503217617] [2022-04-08 04:46:55,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [503217617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:55,912 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:55,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 04:46:55,912 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [526457184] [2022-04-08 04:46:55,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:55,912 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:46:55,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:55,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:46:59,968 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 42 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:59,969 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 04:46:59,969 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:59,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 04:46:59,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=327, Unknown=1, NotChecked=0, Total=380 [2022-04-08 04:46:59,969 INFO L87 Difference]: Start difference. First operand 120 states and 134 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:06,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:06,645 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-08 04:47:06,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:47:06,646 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:47:06,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:06,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:06,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:47:06,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:06,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:47:06,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-08 04:47:10,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:10,747 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:47:10,747 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 04:47:10,747 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=80, Invalid=470, Unknown=2, NotChecked=0, Total=552 [2022-04-08 04:47:10,747 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 18 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 45 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:10,747 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 211 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 354 Invalid, 0 Unknown, 45 Unchecked, 1.3s Time] [2022-04-08 04:47:10,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 04:47:11,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-08 04:47:11,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:11,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:11,027 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:11,027 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:11,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:11,044 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:47:11,044 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:47:11,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:11,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:11,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:47:11,045 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:47:11,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:11,046 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:47:11,046 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:47:11,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:11,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:11,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:11,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:11,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:11,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:47:11,048 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-08 04:47:11,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:11,049 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:47:11,049 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:11,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:47:15,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:15,377 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:47:15,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:47:15,378 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:15,378 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:15,409 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-08 04:47:15,578 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-08 04:47:15,578 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:15,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:15,579 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-08 04:47:15,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:15,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [256648505] [2022-04-08 04:47:15,579 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:15,579 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-08 04:47:15,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:15,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1718284488] [2022-04-08 04:47:15,579 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:15,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:15,589 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:15,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [753779877] [2022-04-08 04:47:15,589 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:47:15,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:15,589 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:15,598 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-08 04:47:15,621 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-08 04:47:15,666 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:47:15,666 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:15,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-08 04:47:15,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:15,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:15,990 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:47:26,380 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:47:26,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {12391#true} call ULTIMATE.init(); {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {12391#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); {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12391#true} {12391#true} #69#return; {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {12391#true} call #t~ret8 := main(); {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {12391#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; {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L272 TraceCheckUtils]: 6: Hoare triple {12391#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:26,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12391#true} {12391#true} #61#return; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {12391#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L272 TraceCheckUtils]: 12: Hoare triple {12391#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12391#true} {12391#true} #63#return; {12391#true} is VALID [2022-04-08 04:47:26,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {12391#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:26,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:26,667 INFO L272 TraceCheckUtils]: 19: Hoare triple {12447#(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)); {12391#true} is VALID [2022-04-08 04:47:26,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:26,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:26,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:26,668 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12391#true} {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:26,668 INFO L290 TraceCheckUtils]: 24: Hoare triple {12447#(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); {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:26,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12472#(and (= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-08 04:47:26,670 INFO L290 TraceCheckUtils]: 26: Hoare triple {12472#(and (= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12476#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-08 04:47:26,670 INFO L290 TraceCheckUtils]: 27: Hoare triple {12476#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12480#(and (= 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)) (<= main_~y~0 1))} is VALID [2022-04-08 04:47:26,670 INFO L272 TraceCheckUtils]: 28: Hoare triple {12480#(and (= 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)) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:26,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {12391#true} ~cond := #in~cond; {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:26,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:26,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:26,672 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12480#(and (= 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)) (<= main_~y~0 1))} #65#return; {12498#(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 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-08 04:47:26,672 INFO L290 TraceCheckUtils]: 33: Hoare triple {12498#(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 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {12498#(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 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-08 04:47:26,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {12498#(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 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12505#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= main_~x~0 1))} is VALID [2022-04-08 04:47:26,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {12505#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12509#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2))} is VALID [2022-04-08 04:47:26,674 INFO L290 TraceCheckUtils]: 36: Hoare triple {12509#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:47:26,674 INFO L272 TraceCheckUtils]: 37: Hoare triple {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* 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)); {12391#true} is VALID [2022-04-08 04:47:26,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {12391#true} ~cond := #in~cond; {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:26,675 INFO L290 TraceCheckUtils]: 39: Hoare triple {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:26,675 INFO L290 TraceCheckUtils]: 40: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:26,676 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {12529#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 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)))} is VALID [2022-04-08 04:47:26,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {12529#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 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)))} assume !!(~x~0 <= ~X~0); {12533#(and (<= main_~x~0 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_~x~0 2) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-08 04:47:26,678 INFO L290 TraceCheckUtils]: 43: Hoare triple {12533#(and (<= main_~x~0 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_~x~0 2) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12537#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= main_~x~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} is VALID [2022-04-08 04:47:26,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {12537#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= main_~x~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12541#(and (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} is VALID [2022-04-08 04:47:26,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {12541#(and (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12545#(and (= (* main_~Y~0 8) (+ main_~v~0 (* 7 main_~X~0))) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (* main_~X~0 (div (* main_~X~0 3) main_~X~0)) main_~xy~0))} is VALID [2022-04-08 04:47:26,683 INFO L272 TraceCheckUtils]: 46: Hoare triple {12545#(and (= (* main_~Y~0 8) (+ main_~v~0 (* 7 main_~X~0))) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (* main_~X~0 (div (* main_~X~0 3) 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)); {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:26,683 INFO L290 TraceCheckUtils]: 47: Hoare triple {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:26,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {12553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12392#false} is VALID [2022-04-08 04:47:26,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {12392#false} assume !false; {12392#false} is VALID [2022-04-08 04:47:26,683 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:47:26,684 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:29,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {12392#false} assume !false; {12392#false} is VALID [2022-04-08 04:47:29,936 INFO L290 TraceCheckUtils]: 48: Hoare triple {12553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12392#false} is VALID [2022-04-08 04:47:29,936 INFO L290 TraceCheckUtils]: 47: Hoare triple {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:29,937 INFO L272 TraceCheckUtils]: 46: Hoare triple {12569#(= (+ (* 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)); {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:29,937 INFO L290 TraceCheckUtils]: 45: Hoare triple {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12569#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:47:29,939 INFO L290 TraceCheckUtils]: 44: Hoare triple {12577#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12573#(= (+ (* 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-08 04:47:29,941 INFO L290 TraceCheckUtils]: 43: Hoare triple {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12577#(= (+ (* (* 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-08 04:47:29,941 INFO L290 TraceCheckUtils]: 42: Hoare triple {12584#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {12573#(= (+ (* 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-08 04:47:29,942 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12588#(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)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {12584#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:47:29,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:29,943 INFO L290 TraceCheckUtils]: 39: Hoare triple {12598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:29,943 INFO L290 TraceCheckUtils]: 38: Hoare triple {12391#true} ~cond := #in~cond; {12598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:47:29,943 INFO L272 TraceCheckUtils]: 37: Hoare triple {12588#(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)))) (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)); {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12588#(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)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {12391#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 34: Hoare triple {12391#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {12391#true} assume !!(~x~0 <= ~X~0); {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12391#true} {12391#true} #65#return; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 31: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L272 TraceCheckUtils]: 28: Hoare triple {12391#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12391#true} is VALID [2022-04-08 04:47:29,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {12391#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {12391#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {12391#true} assume !!(~x~0 <= ~X~0); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12391#true} {12391#true} #65#return; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 20: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L272 TraceCheckUtils]: 19: Hoare triple {12391#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 18: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {12391#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12391#true} {12391#true} #63#return; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L272 TraceCheckUtils]: 12: Hoare triple {12391#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {12391#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12391#true} {12391#true} #61#return; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L290 TraceCheckUtils]: 7: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-08 04:47:29,945 INFO L272 TraceCheckUtils]: 6: Hoare triple {12391#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {12391#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; {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {12391#true} call #t~ret8 := main(); {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12391#true} {12391#true} #69#return; {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {12391#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); {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {12391#true} call ULTIMATE.init(); {12391#true} is VALID [2022-04-08 04:47:29,946 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:47:29,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:29,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1718284488] [2022-04-08 04:47:29,946 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:29,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [753779877] [2022-04-08 04:47:29,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [753779877] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:29,946 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:29,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 11] total 25 [2022-04-08 04:47:29,947 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:29,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [256648505] [2022-04-08 04:47:29,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [256648505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:29,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:29,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 04:47:29,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1247125618] [2022-04-08 04:47:29,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:29,947 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:47:29,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:29,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:29,988 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-08 04:47:29,988 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 04:47:29,988 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:29,988 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 04:47:29,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=521, Unknown=0, NotChecked=0, Total=600 [2022-04-08 04:47:29,989 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:33,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:33,864 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-08 04:47:33,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 04:47:33,865 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:47:33,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:33,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:33,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-08 04:47:33,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:33,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-08 04:47:33,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-08 04:47:33,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:33,933 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:47:33,933 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 04:47:33,934 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=129, Invalid=801, Unknown=0, NotChecked=0, Total=930 [2022-04-08 04:47:33,934 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 626 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 256 SdHoareTripleChecker+Invalid, 630 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 626 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:33,934 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 256 Invalid, 630 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 626 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-08 04:47:33,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 04:47:34,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-08 04:47:34,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:34,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:34,248 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:34,249 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:34,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:34,250 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:47:34,251 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:47:34,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:34,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:34,251 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:47:34,251 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:47:34,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:34,253 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:47:34,253 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:47:34,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:34,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:34,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:34,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:34,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:34,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:47:34,255 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-08 04:47:34,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:34,255 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:47:34,255 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:34,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:47:38,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:38,602 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:47:38,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:47:38,603 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:38,603 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:38,626 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-08 04:47:38,803 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-08 04:47:38,804 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:38,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:38,804 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-08 04:47:38,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:38,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [400675122] [2022-04-08 04:47:38,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:38,804 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-08 04:47:38,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:38,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1522402900] [2022-04-08 04:47:38,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:38,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:38,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:38,815 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1743664904] [2022-04-08 04:47:38,816 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:47:38,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:38,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:38,831 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-08 04:47:38,832 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-08 04:47:38,871 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:47:38,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:38,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 04:47:38,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:38,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:39,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {13501#true} call ULTIMATE.init(); {13501#true} is VALID [2022-04-08 04:47:39,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {13501#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); {13501#true} is VALID [2022-04-08 04:47:39,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13501#true} {13501#true} #69#return; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {13501#true} call #t~ret8 := main(); {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {13501#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; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L272 TraceCheckUtils]: 6: Hoare triple {13501#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13501#true} {13501#true} #61#return; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {13501#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L272 TraceCheckUtils]: 12: Hoare triple {13501#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13501#true} {13501#true} #63#return; {13501#true} is VALID [2022-04-08 04:47:39,891 INFO L290 TraceCheckUtils]: 17: Hoare triple {13501#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:39,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:39,891 INFO L272 TraceCheckUtils]: 19: Hoare triple {13557#(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)); {13501#true} is VALID [2022-04-08 04:47:39,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,892 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13501#true} {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:39,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:39,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {13557#(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; {13582#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:39,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {13582#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:39,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:39,895 INFO L272 TraceCheckUtils]: 28: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:39,895 INFO L290 TraceCheckUtils]: 29: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,896 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13501#true} {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:39,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:39,897 INFO L290 TraceCheckUtils]: 34: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13611#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,898 INFO L290 TraceCheckUtils]: 35: Hoare triple {13611#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,898 INFO L290 TraceCheckUtils]: 36: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,898 INFO L272 TraceCheckUtils]: 37: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:39,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,899 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13501#true} {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,900 INFO L290 TraceCheckUtils]: 45: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,901 INFO L272 TraceCheckUtils]: 46: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:39,901 INFO L290 TraceCheckUtils]: 47: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:39,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:39,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:39,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13501#true} {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:39,903 INFO L290 TraceCheckUtils]: 51: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L290 TraceCheckUtils]: 52: Hoare triple {13502#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L272 TraceCheckUtils]: 53: Hoare triple {13502#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)); {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L290 TraceCheckUtils]: 54: Hoare triple {13502#false} ~cond := #in~cond; {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L290 TraceCheckUtils]: 55: Hoare triple {13502#false} assume 0 == ~cond; {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L290 TraceCheckUtils]: 56: Hoare triple {13502#false} assume !false; {13502#false} is VALID [2022-04-08 04:47:39,903 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 04:47:39,903 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:40,263 INFO L290 TraceCheckUtils]: 56: Hoare triple {13502#false} assume !false; {13502#false} is VALID [2022-04-08 04:47:40,263 INFO L290 TraceCheckUtils]: 55: Hoare triple {13502#false} assume 0 == ~cond; {13502#false} is VALID [2022-04-08 04:47:40,263 INFO L290 TraceCheckUtils]: 54: Hoare triple {13502#false} ~cond := #in~cond; {13502#false} is VALID [2022-04-08 04:47:40,263 INFO L272 TraceCheckUtils]: 53: Hoare triple {13502#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)); {13502#false} is VALID [2022-04-08 04:47:40,263 INFO L290 TraceCheckUtils]: 52: Hoare triple {13502#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13502#false} is VALID [2022-04-08 04:47:40,263 INFO L290 TraceCheckUtils]: 51: Hoare triple {13695#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13502#false} is VALID [2022-04-08 04:47:40,264 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13501#true} {13695#(<= main_~x~0 main_~X~0)} #65#return; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:40,264 INFO L290 TraceCheckUtils]: 49: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,264 INFO L290 TraceCheckUtils]: 48: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,264 INFO L290 TraceCheckUtils]: 47: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,264 INFO L272 TraceCheckUtils]: 46: Hoare triple {13695#(<= 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)); {13501#true} is VALID [2022-04-08 04:47:40,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:40,266 INFO L290 TraceCheckUtils]: 44: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:40,266 INFO L290 TraceCheckUtils]: 43: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:40,266 INFO L290 TraceCheckUtils]: 42: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:40,267 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13501#true} {13717#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:40,267 INFO L290 TraceCheckUtils]: 40: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,267 INFO L290 TraceCheckUtils]: 38: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,267 INFO L272 TraceCheckUtils]: 37: Hoare triple {13717#(<= (+ 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)); {13501#true} is VALID [2022-04-08 04:47:40,276 INFO L290 TraceCheckUtils]: 36: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:40,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {13745#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:40,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13745#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-08 04:47:40,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:47:40,278 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13501#true} {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:47:40,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,279 INFO L290 TraceCheckUtils]: 29: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,279 INFO L272 TraceCheckUtils]: 28: Hoare triple {13749#(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)); {13501#true} is VALID [2022-04-08 04:47:40,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:47:40,280 INFO L290 TraceCheckUtils]: 26: Hoare triple {13774#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:47:40,280 INFO L290 TraceCheckUtils]: 25: Hoare triple {13778#(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; {13774#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:47:40,281 INFO L290 TraceCheckUtils]: 24: Hoare triple {13778#(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); {13778#(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-08 04:47:40,281 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13501#true} {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {13778#(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-08 04:47:40,281 INFO L290 TraceCheckUtils]: 22: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,281 INFO L290 TraceCheckUtils]: 21: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,282 INFO L272 TraceCheckUtils]: 19: Hoare triple {13778#(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)); {13501#true} is VALID [2022-04-08 04:47:40,282 INFO L290 TraceCheckUtils]: 18: Hoare triple {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13778#(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-08 04:47:40,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {13501#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13778#(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-08 04:47:40,283 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13501#true} {13501#true} #63#return; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L272 TraceCheckUtils]: 12: Hoare triple {13501#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {13501#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13501#true} {13501#true} #61#return; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-08 04:47:40,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {13501#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {13501#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; {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {13501#true} call #t~ret8 := main(); {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13501#true} {13501#true} #69#return; {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {13501#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); {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L272 TraceCheckUtils]: 0: Hoare triple {13501#true} call ULTIMATE.init(); {13501#true} is VALID [2022-04-08 04:47:40,284 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 04:47:40,284 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:40,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1522402900] [2022-04-08 04:47:40,284 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:40,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1743664904] [2022-04-08 04:47:40,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1743664904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:40,284 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:40,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 04:47:40,285 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:40,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [400675122] [2022-04-08 04:47:40,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [400675122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:40,285 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:40,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:47:40,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [444078449] [2022-04-08 04:47:40,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:40,285 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-08 04:47:40,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:40,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:47:40,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:40,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:47:40,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:40,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:47:40,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:47:40,328 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:47:41,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,064 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-04-08 04:47:41,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:47:41,064 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-08 04:47:41,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:41,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:47:41,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 04:47:41,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:47:41,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 04:47:41,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 04:47:41,138 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:41,140 INFO L225 Difference]: With dead ends: 133 [2022-04-08 04:47:41,140 INFO L226 Difference]: Without dead ends: 125 [2022-04-08 04:47:41,140 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:47:41,141 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 135 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 135 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:41,141 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 135 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:47:41,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-08 04:47:41,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 121. [2022-04-08 04:47:41,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:41,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:41,456 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:41,456 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:41,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,458 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-08 04:47:41,458 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-08 04:47:41,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:41,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:41,458 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-08 04:47:41,458 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-08 04:47:41,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,461 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-08 04:47:41,461 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-08 04:47:41,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:41,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:41,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:41,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:41,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:47:41,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:47:41,463 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 57 [2022-04-08 04:47:41,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:41,463 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:47:41,463 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:47:41,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:47:45,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:45,809 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:47:45,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:47:45,809 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:45,809 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:45,830 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-08 04:47:46,009 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-08 04:47:46,010 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:46,010 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:46,010 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-08 04:47:46,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:46,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1196545699] [2022-04-08 04:47:46,010 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:46,011 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-08 04:47:46,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:46,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181303426] [2022-04-08 04:47:46,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:46,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:46,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:46,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286322982] [2022-04-08 04:47:46,023 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:47:46,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:46,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:46,028 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-08 04:47:46,061 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-08 04:47:46,075 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:47:46,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:46,076 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:47:46,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:46,089 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:48:01,299 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:06,570 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:08,802 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:14,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {14614#true} call ULTIMATE.init(); {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {14614#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); {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14614#true} {14614#true} #69#return; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {14614#true} call #t~ret8 := main(); {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {14614#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; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {14614#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14614#true} {14614#true} #61#return; {14614#true} is VALID [2022-04-08 04:48:14,389 INFO L290 TraceCheckUtils]: 11: Hoare triple {14614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L272 TraceCheckUtils]: 12: Hoare triple {14614#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14614#true} {14614#true} #63#return; {14614#true} is VALID [2022-04-08 04:48:14,390 INFO L290 TraceCheckUtils]: 17: Hoare triple {14614#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:14,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:14,390 INFO L272 TraceCheckUtils]: 19: Hoare triple {14670#(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)); {14614#true} is VALID [2022-04-08 04:48:14,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:14,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:14,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,391 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14614#true} {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:14,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {14692#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:14,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {14692#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,393 INFO L290 TraceCheckUtils]: 26: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,393 INFO L290 TraceCheckUtils]: 27: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,393 INFO L272 TraceCheckUtils]: 28: Hoare triple {14696#(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)); {14614#true} is VALID [2022-04-08 04:48:14,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:14,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:14,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,394 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14614#true} {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,394 INFO L290 TraceCheckUtils]: 33: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 34: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 36: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,395 INFO L272 TraceCheckUtils]: 37: Hoare triple {14696#(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)); {14614#true} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 38: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 39: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:14,395 INFO L290 TraceCheckUtils]: 40: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:14,396 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14614#true} {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14748#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,397 INFO L290 TraceCheckUtils]: 43: Hoare triple {14748#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14752#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:48:14,397 INFO L290 TraceCheckUtils]: 44: Hoare triple {14752#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14756#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:48:14,398 INFO L290 TraceCheckUtils]: 45: Hoare triple {14756#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14760#(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-08 04:48:14,398 INFO L272 TraceCheckUtils]: 46: Hoare triple {14760#(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)); {14614#true} is VALID [2022-04-08 04:48:14,398 INFO L290 TraceCheckUtils]: 47: Hoare triple {14614#true} ~cond := #in~cond; {14767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:14,398 INFO L290 TraceCheckUtils]: 48: Hoare triple {14767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:14,399 INFO L290 TraceCheckUtils]: 49: Hoare triple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:14,400 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} {14760#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {14778#(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-08 04:48:14,400 INFO L290 TraceCheckUtils]: 51: Hoare triple {14778#(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); {14782#(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-08 04:48:16,403 WARN L290 TraceCheckUtils]: 52: Hoare triple {14782#(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; {14786#(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-08 04:48:16,405 INFO L272 TraceCheckUtils]: 53: Hoare triple {14786#(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)); {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:48:16,405 INFO L290 TraceCheckUtils]: 54: Hoare triple {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14794#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:16,406 INFO L290 TraceCheckUtils]: 55: Hoare triple {14794#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14615#false} is VALID [2022-04-08 04:48:16,406 INFO L290 TraceCheckUtils]: 56: Hoare triple {14615#false} assume !false; {14615#false} is VALID [2022-04-08 04:48:16,406 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-08 04:48:16,406 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:48:19,456 INFO L290 TraceCheckUtils]: 56: Hoare triple {14615#false} assume !false; {14615#false} is VALID [2022-04-08 04:48:19,456 INFO L290 TraceCheckUtils]: 55: Hoare triple {14794#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14615#false} is VALID [2022-04-08 04:48:19,457 INFO L290 TraceCheckUtils]: 54: Hoare triple {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14794#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:19,458 INFO L272 TraceCheckUtils]: 53: Hoare triple {14810#(= (+ (* 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)); {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:48:19,459 INFO L290 TraceCheckUtils]: 52: Hoare triple {14814#(= (+ (* 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; {14810#(= (+ (* 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-08 04:48:19,459 INFO L290 TraceCheckUtils]: 51: Hoare triple {14818#(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); {14814#(= (+ (* 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-08 04:48:19,460 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} {14822#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {14818#(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-08 04:48:19,461 INFO L290 TraceCheckUtils]: 49: Hoare triple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:19,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {14832#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:19,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {14614#true} ~cond := #in~cond; {14832#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:48:19,462 INFO L272 TraceCheckUtils]: 46: Hoare triple {14822#(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)); {14614#true} is VALID [2022-04-08 04:48:19,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {14839#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14822#(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-08 04:48:19,464 INFO L290 TraceCheckUtils]: 44: Hoare triple {14843#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14839#(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-08 04:48:19,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {14847#(forall ((main_~Y~0 Int) (v_main_~x~0_74 Int)) (or (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_74 (+ main_~y~0 1))) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)))) (<= v_main_~x~0_74 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14843#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-08 04:48:19,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14847#(forall ((main_~Y~0 Int) (v_main_~x~0_74 Int)) (or (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_74 (+ main_~y~0 1))) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-08 04:48:19,469 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-08 04:48:19,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:19,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:19,469 INFO L272 TraceCheckUtils]: 37: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 36: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {14614#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {14614#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L272 TraceCheckUtils]: 28: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {14614#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 25: Hoare triple {14614#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 24: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 21: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L272 TraceCheckUtils]: 19: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-08 04:48:19,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {14614#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14614#true} {14614#true} #63#return; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 15: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 14: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L272 TraceCheckUtils]: 12: Hoare triple {14614#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {14614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14614#true} {14614#true} #61#return; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L272 TraceCheckUtils]: 6: Hoare triple {14614#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {14614#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; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {14614#true} call #t~ret8 := main(); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14614#true} {14614#true} #69#return; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {14614#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); {14614#true} is VALID [2022-04-08 04:48:19,471 INFO L272 TraceCheckUtils]: 0: Hoare triple {14614#true} call ULTIMATE.init(); {14614#true} is VALID [2022-04-08 04:48:19,472 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 04:48:19,472 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:48:19,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1181303426] [2022-04-08 04:48:19,472 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:48:19,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286322982] [2022-04-08 04:48:19,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286322982] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:48:19,472 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:48:19,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-08 04:48:19,472 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:48:19,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1196545699] [2022-04-08 04:48:19,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1196545699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:48:19,472 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:48:19,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:48:19,472 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [21945924] [2022-04-08 04:48:19,472 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:48:19,473 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:48:19,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:48:19,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:21,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:21,513 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:48:21,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:48:21,514 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:48:21,514 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:48:21,514 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:29,542 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-08 04:48:31,868 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:48:34,430 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-08 04:48:36,439 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-08 04:48:38,442 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-08 04:48:40,445 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-08 04:48:42,020 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:48:44,049 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-08 04:48:46,053 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-08 04:48:48,056 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-08 04:48:48,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:48,607 INFO L93 Difference]: Finished difference Result 168 states and 199 transitions. [2022-04-08 04:48:48,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:48:48,607 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:48:48,607 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:48:48,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:48,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-08 04:48:48,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:48,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-08 04:48:48,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 71 transitions. [2022-04-08 04:48:52,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 69 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:52,680 INFO L225 Difference]: With dead ends: 168 [2022-04-08 04:48:52,680 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 04:48:52,681 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=151, Invalid=841, Unknown=0, NotChecked=0, Total=992 [2022-04-08 04:48:52,681 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 25 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 535 mSolverCounterSat, 9 mSolverCounterUnsat, 8 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 552 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 535 IncrementalHoareTripleChecker+Invalid, 8 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:48:52,681 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 269 Invalid, 552 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 535 Invalid, 8 Unknown, 0 Unchecked, 20.6s Time] [2022-04-08 04:48:52,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 04:48:53,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 155. [2022-04-08 04:48:53,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:48:53,141 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:48:53,141 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:48:53,142 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:48:53,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:53,161 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-08 04:48:53,161 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-08 04:48:53,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:48:53,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:48:53,161 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-08 04:48:53,162 INFO L87 Difference]: Start difference. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-08 04:48:53,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:53,174 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-08 04:48:53,174 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-08 04:48:53,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:48:53,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:48:53,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:48:53,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:48:53,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:48:53,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 184 transitions. [2022-04-08 04:48:53,178 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 184 transitions. Word has length 57 [2022-04-08 04:48:53,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:48:53,178 INFO L478 AbstractCegarLoop]: Abstraction has 155 states and 184 transitions. [2022-04-08 04:48:53,178 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:53,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 184 transitions. [2022-04-08 04:48:55,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 183 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:55,860 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 184 transitions. [2022-04-08 04:48:55,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:48:55,861 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:48:55,861 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:48:55,908 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-08 04:48:56,061 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-08 04:48:56,062 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:48:56,062 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:48:56,062 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-08 04:48:56,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:48:56,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [233414043] [2022-04-08 04:48:56,062 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:48:56,062 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-08 04:48:56,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:48:56,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972791959] [2022-04-08 04:48:56,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:48:56,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:48:56,080 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:48:56,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1577232759] [2022-04-08 04:48:56,080 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:48:56,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:48:56,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:48:56,087 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-08 04:48:56,087 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-08 04:48:56,310 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:48:56,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:48:56,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 04:48:56,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:48:56,332 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:49:14,013 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:49:19,741 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:49:22,969 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:50:08,056 WARN L232 SmtUtils]: Spent 5.34s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L1067] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-08 04:50:25,291 WARN L232 SmtUtils]: Spent 5.41s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L1067] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-08 04:50:35,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {15961#true} call ULTIMATE.init(); {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {15961#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); {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15961#true} {15961#true} #69#return; {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {15961#true} call #t~ret8 := main(); {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {15961#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; {15961#true} is VALID [2022-04-08 04:50:35,167 INFO L272 TraceCheckUtils]: 6: Hoare triple {15961#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:35,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {15961#true} ~cond := #in~cond; {15987#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:50:35,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {15987#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15991#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:50:35,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {15991#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15991#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:50:35,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15991#(not (= |assume_abort_if_not_#in~cond| 0))} {15961#true} #61#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,169 INFO L272 TraceCheckUtils]: 12: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:35,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:35,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:35,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:35,170 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,171 INFO L272 TraceCheckUtils]: 19: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 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)); {15961#true} is VALID [2022-04-08 04:50:35,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:35,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:35,171 INFO L290 TraceCheckUtils]: 22: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:35,171 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15961#true} {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,173 INFO L272 TraceCheckUtils]: 28: Hoare triple {15998#(and (<= main_~X~0 10) (<= 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)); {15961#true} is VALID [2022-04-08 04:50:35,173 INFO L290 TraceCheckUtils]: 29: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:35,173 INFO L290 TraceCheckUtils]: 30: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:35,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:35,173 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #65#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,175 INFO L272 TraceCheckUtils]: 37: Hoare triple {15998#(and (<= main_~X~0 10) (<= 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)); {15961#true} is VALID [2022-04-08 04:50:35,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:35,175 INFO L290 TraceCheckUtils]: 39: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:35,175 INFO L290 TraceCheckUtils]: 40: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:35,175 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #65#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,176 INFO L290 TraceCheckUtils]: 42: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,176 INFO L290 TraceCheckUtils]: 43: Hoare triple {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:50:35,178 INFO L290 TraceCheckUtils]: 44: Hoare triple {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16103#(and (<= main_~X~0 10) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:50:35,178 INFO L290 TraceCheckUtils]: 45: Hoare triple {16103#(and (<= main_~X~0 10) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16107#(and (<= main_~X~0 10) (<= 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-08 04:50:35,178 INFO L272 TraceCheckUtils]: 46: Hoare triple {16107#(and (<= main_~X~0 10) (<= 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)); {15961#true} is VALID [2022-04-08 04:50:35,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {15961#true} ~cond := #in~cond; {16114#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:35,179 INFO L290 TraceCheckUtils]: 48: Hoare triple {16114#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:35,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:35,181 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} {16107#(and (<= main_~X~0 10) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {16125#(and (<= main_~X~0 10) (= (+ (* 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-08 04:50:35,181 INFO L290 TraceCheckUtils]: 51: Hoare triple {16125#(and (<= main_~X~0 10) (= (+ (* 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); {16129#(and (<= main_~X~0 10) (= (+ (* 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-08 04:50:35,236 INFO L290 TraceCheckUtils]: 52: Hoare triple {16129#(and (<= main_~X~0 10) (= (+ (* 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; {16133#(and (<= main_~X~0 10) (<= 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 VALID [2022-04-08 04:50:35,253 INFO L272 TraceCheckUtils]: 53: Hoare triple {16133#(and (<= main_~X~0 10) (<= 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)); {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:35,253 INFO L290 TraceCheckUtils]: 54: Hoare triple {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:35,254 INFO L290 TraceCheckUtils]: 55: Hoare triple {16141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15962#false} is VALID [2022-04-08 04:50:35,254 INFO L290 TraceCheckUtils]: 56: Hoare triple {15962#false} assume !false; {15962#false} is VALID [2022-04-08 04:50:35,254 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-08 04:50:35,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:50:40,100 INFO L290 TraceCheckUtils]: 56: Hoare triple {15962#false} assume !false; {15962#false} is VALID [2022-04-08 04:50:40,100 INFO L290 TraceCheckUtils]: 55: Hoare triple {16141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15962#false} is VALID [2022-04-08 04:50:40,101 INFO L290 TraceCheckUtils]: 54: Hoare triple {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:40,101 INFO L272 TraceCheckUtils]: 53: Hoare triple {16157#(= (+ (* 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)); {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:40,103 INFO L290 TraceCheckUtils]: 52: Hoare triple {16161#(= (+ (* 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; {16157#(= (+ (* 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-08 04:50:40,103 INFO L290 TraceCheckUtils]: 51: Hoare triple {16165#(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); {16161#(= (+ (* 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-08 04:50:40,104 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} {16169#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {16165#(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-08 04:50:40,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:40,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {16179#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:40,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {15961#true} ~cond := #in~cond; {16179#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:50:40,105 INFO L272 TraceCheckUtils]: 46: Hoare triple {16169#(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)); {15961#true} is VALID [2022-04-08 04:50:40,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {16186#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16169#(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-08 04:50:40,109 INFO L290 TraceCheckUtils]: 44: Hoare triple {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16186#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (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-08 04:50:40,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 42: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} is VALID [2022-04-08 04:50:40,113 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 40: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 38: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L272 TraceCheckUtils]: 37: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 36: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 35: Hoare triple {15961#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 34: Hoare triple {15961#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 33: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 30: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:40,113 INFO L272 TraceCheckUtils]: 28: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {15961#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {15961#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L272 TraceCheckUtils]: 19: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {15961#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15961#true} {15961#true} #63#return; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L272 TraceCheckUtils]: 12: Hoare triple {15961#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {15961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15961#true} {15961#true} #61#return; {15961#true} is VALID [2022-04-08 04:50:40,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {15961#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {15961#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; {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {15961#true} call #t~ret8 := main(); {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15961#true} {15961#true} #69#return; {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {15961#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); {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {15961#true} call ULTIMATE.init(); {15961#true} is VALID [2022-04-08 04:50:40,115 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 04:50:40,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:50:40,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972791959] [2022-04-08 04:50:40,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:50:40,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1577232759] [2022-04-08 04:50:40,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1577232759] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:50:40,116 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:50:40,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-08 04:50:40,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:50:40,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [233414043] [2022-04-08 04:50:40,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [233414043] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:50:40,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:50:40,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:50:40,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [127063731] [2022-04-08 04:50:40,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:50:40,116 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:50:40,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:50:40,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:40,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:40,229 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:50:40,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:40,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:50:40,230 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:50:40,230 INFO L87 Difference]: Start difference. First operand 155 states and 184 transitions. Second operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:44,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:44,899 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2022-04-08 04:50:44,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:50:44,900 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:50:44,900 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:50:44,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:44,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 40 transitions. [2022-04-08 04:50:44,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:44,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 40 transitions. [2022-04-08 04:50:44,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 40 transitions. [2022-04-08 04:50:45,410 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-08 04:50:45,412 INFO L225 Difference]: With dead ends: 163 [2022-04-08 04:50:45,412 INFO L226 Difference]: Without dead ends: 155 [2022-04-08 04:50:45,413 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 226 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=206, Invalid=984, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 04:50:45,413 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 26 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 209 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 04:50:45,413 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 140 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 209 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 04:50:45,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-08 04:50:45,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 117. [2022-04-08 04:50:45,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:50:45,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:45,735 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:45,735 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:45,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:45,740 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-08 04:50:45,741 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-08 04:50:45,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:45,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:45,741 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-08 04:50:45,741 INFO L87 Difference]: Start difference. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-08 04:50:45,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:45,756 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-08 04:50:45,756 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-08 04:50:45,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:45,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:45,756 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:50:45,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:50:45,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:45,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 129 transitions. [2022-04-08 04:50:45,758 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 129 transitions. Word has length 57 [2022-04-08 04:50:45,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:50:45,758 INFO L478 AbstractCegarLoop]: Abstraction has 117 states and 129 transitions. [2022-04-08 04:50:45,758 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:45,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 117 states and 129 transitions. [2022-04-08 04:50:48,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 128 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:48,075 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 129 transitions. [2022-04-08 04:50:48,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:50:48,076 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:50:48,076 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:50:48,086 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-08 04:50:48,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-08 04:50:48,277 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:50:48,277 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:50:48,277 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-08 04:50:48,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:48,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1000249302] [2022-04-08 04:50:48,277 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:50:48,277 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-08 04:50:48,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:50:48,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [828972127] [2022-04-08 04:50:48,278 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:50:48,278 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:50:48,287 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:50:48,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1754894109] [2022-04-08 04:50:48,288 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:50:48,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:50:48,288 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:50:48,300 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-08 04:50:48,341 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-08 04:50:48,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:50:48,353 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:50:48,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 66 conjunts are in the unsatisfiable core [2022-04-08 04:50:48,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:50:48,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:50:49,061 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:50:55,956 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:51:14,757 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:51:16,234 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:51:17,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {17219#true} call ULTIMATE.init(); {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {17219#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); {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17219#true} {17219#true} #69#return; {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {17219#true} call #t~ret8 := main(); {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {17219#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; {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {17219#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {17219#true} ~cond := #in~cond; {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:51:17,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:51:17,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:51:17,462 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} {17219#true} #61#return; {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:51:17,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:51:17,463 INFO L272 TraceCheckUtils]: 12: Hoare triple {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {17219#true} ~cond := #in~cond; {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:51:17,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:51:17,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:51:17,464 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {17275#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {17275#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,465 INFO L272 TraceCheckUtils]: 19: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,465 INFO L290 TraceCheckUtils]: 20: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:17,465 INFO L290 TraceCheckUtils]: 21: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:17,465 INFO L290 TraceCheckUtils]: 22: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:17,466 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17219#true} {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,466 INFO L290 TraceCheckUtils]: 24: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,467 INFO L290 TraceCheckUtils]: 25: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17304#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,467 INFO L290 TraceCheckUtils]: 26: Hoare triple {17304#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17308#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,468 INFO L290 TraceCheckUtils]: 27: Hoare triple {17308#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,468 INFO L272 TraceCheckUtils]: 28: Hoare triple {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,468 INFO L290 TraceCheckUtils]: 29: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:51:17,468 INFO L290 TraceCheckUtils]: 30: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,483 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} #65#return; {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,484 INFO L290 TraceCheckUtils]: 34: Hoare triple {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17337#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {17337#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17341#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {17341#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~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) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,486 INFO L272 TraceCheckUtils]: 37: Hoare triple {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~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) (* main_~Y~0 6)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,486 INFO L290 TraceCheckUtils]: 38: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:51:17,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,488 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~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) (* main_~Y~0 6)) (<= main_~Y~0 10))} #65#return; {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17368#(and (<= main_~X~0 10) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 6)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (= (+ (* (* 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-08 04:51:17,490 INFO L290 TraceCheckUtils]: 44: Hoare triple {17368#(and (<= main_~X~0 10) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 6)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17372#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,490 INFO L290 TraceCheckUtils]: 45: Hoare triple {17372#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,490 INFO L272 TraceCheckUtils]: 46: Hoare triple {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:17,490 INFO L290 TraceCheckUtils]: 47: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:51:17,491 INFO L290 TraceCheckUtils]: 48: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:17,492 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} #65#return; {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,493 INFO L290 TraceCheckUtils]: 51: Hoare triple {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:51:17,494 INFO L290 TraceCheckUtils]: 52: Hoare triple {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17399#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 3 main_~x~0))} is VALID [2022-04-08 04:51:17,496 INFO L290 TraceCheckUtils]: 53: Hoare triple {17399#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 3 main_~x~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17403#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (<= 4 main_~x~0))} is VALID [2022-04-08 04:51:17,500 INFO L290 TraceCheckUtils]: 54: Hoare triple {17403#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (<= 4 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17407#(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) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 4 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (= main_~xy~0 0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} is VALID [2022-04-08 04:51:17,502 INFO L272 TraceCheckUtils]: 55: Hoare triple {17407#(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) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 4 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (= main_~xy~0 0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 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)); {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:51:17,502 INFO L290 TraceCheckUtils]: 56: Hoare triple {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17415#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:51:17,502 INFO L290 TraceCheckUtils]: 57: Hoare triple {17415#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17220#false} is VALID [2022-04-08 04:51:17,502 INFO L290 TraceCheckUtils]: 58: Hoare triple {17220#false} assume !false; {17220#false} is VALID [2022-04-08 04:51:17,503 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:51:17,503 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:51:22,376 INFO L290 TraceCheckUtils]: 58: Hoare triple {17220#false} assume !false; {17220#false} is VALID [2022-04-08 04:51:22,376 INFO L290 TraceCheckUtils]: 57: Hoare triple {17415#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17220#false} is VALID [2022-04-08 04:51:22,377 INFO L290 TraceCheckUtils]: 56: Hoare triple {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17415#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:51:22,377 INFO L272 TraceCheckUtils]: 55: Hoare triple {17431#(= (+ (* 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)); {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:51:22,378 INFO L290 TraceCheckUtils]: 54: Hoare triple {17435#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17431#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:51:22,394 INFO L290 TraceCheckUtils]: 53: Hoare triple {17439#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17435#(= (+ (* 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-08 04:51:22,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {17443#(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; {17439#(= (+ (* (* 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-08 04:51:22,395 INFO L290 TraceCheckUtils]: 51: Hoare triple {17443#(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); {17443#(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-08 04:51:22,396 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17450#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {17443#(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-08 04:51:22,396 INFO L290 TraceCheckUtils]: 49: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:22,397 INFO L290 TraceCheckUtils]: 48: Hoare triple {17460#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:51:22,397 INFO L290 TraceCheckUtils]: 47: Hoare triple {17219#true} ~cond := #in~cond; {17460#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:51:22,397 INFO L272 TraceCheckUtils]: 46: Hoare triple {17450#(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)); {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 45: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17450#(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-08 04:51:22,398 INFO L290 TraceCheckUtils]: 44: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 43: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 42: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 40: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 39: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L290 TraceCheckUtils]: 38: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:22,398 INFO L272 TraceCheckUtils]: 37: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 33: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L272 TraceCheckUtils]: 28: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L272 TraceCheckUtils]: 19: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 18: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-08 04:51:22,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {17219#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17219#true} {17219#true} #63#return; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L272 TraceCheckUtils]: 12: Hoare triple {17219#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {17219#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17219#true} {17219#true} #61#return; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 8: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L272 TraceCheckUtils]: 6: Hoare triple {17219#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 5: Hoare triple {17219#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; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L272 TraceCheckUtils]: 4: Hoare triple {17219#true} call #t~ret8 := main(); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17219#true} {17219#true} #69#return; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {17219#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); {17219#true} is VALID [2022-04-08 04:51:22,400 INFO L272 TraceCheckUtils]: 0: Hoare triple {17219#true} call ULTIMATE.init(); {17219#true} is VALID [2022-04-08 04:51:22,401 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-08 04:51:22,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:51:22,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [828972127] [2022-04-08 04:51:22,401 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:51:22,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1754894109] [2022-04-08 04:51:22,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1754894109] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:51:22,401 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:51:22,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 11] total 32 [2022-04-08 04:51:22,401 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:51:22,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1000249302] [2022-04-08 04:51:22,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1000249302] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:51:22,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:51:22,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 04:51:22,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364820003] [2022-04-08 04:51:22,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:51:22,402 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-08 04:51:22,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:51:22,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:51:22,455 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-08 04:51:22,456 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 04:51:22,456 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:51:22,456 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 04:51:22,456 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=860, Unknown=0, NotChecked=0, Total=992 [2022-04-08 04:51:22,456 INFO L87 Difference]: Start difference. First operand 117 states and 129 transitions. Second operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:51:25,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:51:25,764 INFO L93 Difference]: Finished difference Result 153 states and 171 transitions. [2022-04-08 04:51:25,764 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 04:51:25,764 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-08 04:51:25,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:51:25,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:51:25,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-08 04:51:25,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:51:25,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-08 04:51:25,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 84 transitions. [2022-04-08 04:51:25,868 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-08 04:51:25,870 INFO L225 Difference]: With dead ends: 153 [2022-04-08 04:51:25,870 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 04:51:25,870 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 324 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=219, Invalid=1341, Unknown=0, NotChecked=0, Total=1560 [2022-04-08 04:51:25,871 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 44 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 744 mSolverCounterSat, 64 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 808 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 64 IncrementalHoareTripleChecker+Valid, 744 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:51:25,871 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 125 Invalid, 808 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [64 Valid, 744 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 04:51:25,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 04:51:26,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-08 04:51:26,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:51:26,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:51:26,295 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:51:26,295 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:51:26,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:51:26,311 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-08 04:51:26,311 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-08 04:51:26,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:51:26,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:51:26,312 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-08 04:51:26,312 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-08 04:51:26,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:51:26,313 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-08 04:51:26,313 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-08 04:51:26,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:51:26,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:51:26,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:51:26,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:51:26,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:51:26,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 144 transitions. [2022-04-08 04:51:26,317 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 144 transitions. Word has length 59 [2022-04-08 04:51:26,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:51:26,317 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 144 transitions. [2022-04-08 04:51:26,317 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:51:26,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 144 transitions. [2022-04-08 04:51:28,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 143 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:51:28,844 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-08 04:51:28,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:51:28,844 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:51:28,844 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:51:28,874 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-08 04:51:29,045 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 04:51:29,045 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:51:29,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:51:29,045 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-08 04:51:29,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:51:29,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1132311314] [2022-04-08 04:51:29,046 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:51:29,046 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-08 04:51:29,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:51:29,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1707493662] [2022-04-08 04:51:29,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:51:29,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:51:29,076 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:51:29,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1400294721] [2022-04-08 04:51:29,076 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:51:29,076 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:51:29,076 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:51:29,082 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:51:29,083 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 04:51:29,127 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:51:29,127 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:51:29,128 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 04:51:29,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:51:29,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:51:56,432 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:52:00,842 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:52:30,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {18454#true} call ULTIMATE.init(); {18454#true} is VALID [2022-04-08 04:52:30,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {18454#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); {18454#true} is VALID [2022-04-08 04:52:30,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:30,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18454#true} {18454#true} #69#return; {18454#true} is VALID [2022-04-08 04:52:30,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {18454#true} call #t~ret8 := main(); {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {18454#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; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L272 TraceCheckUtils]: 6: Hoare triple {18454#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 9: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18454#true} {18454#true} #61#return; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 11: Hoare triple {18454#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L272 TraceCheckUtils]: 12: Hoare triple {18454#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18454#true} {18454#true} #63#return; {18454#true} is VALID [2022-04-08 04:52:30,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {18454#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:30,157 INFO L290 TraceCheckUtils]: 18: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:30,157 INFO L272 TraceCheckUtils]: 19: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:30,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:30,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:30,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:30,158 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18454#true} {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:30,158 INFO L290 TraceCheckUtils]: 24: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:30,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:30,159 INFO L290 TraceCheckUtils]: 26: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:32,162 WARN L290 TraceCheckUtils]: 27: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is UNKNOWN [2022-04-08 04:52:32,163 INFO L272 TraceCheckUtils]: 28: Hoare triple {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {18454#true} is VALID [2022-04-08 04:52:32,163 INFO L290 TraceCheckUtils]: 29: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:32,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:32,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:32,165 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:32,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:32,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {18535#(and (= 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; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:32,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:34,169 WARN L290 TraceCheckUtils]: 36: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-08 04:52:34,169 INFO L272 TraceCheckUtils]: 37: Hoare triple {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:34,170 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:34,170 INFO L290 TraceCheckUtils]: 39: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:34,170 INFO L290 TraceCheckUtils]: 40: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:34,171 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:34,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:52:34,172 INFO L290 TraceCheckUtils]: 43: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,173 INFO L290 TraceCheckUtils]: 44: Hoare triple {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,173 INFO L290 TraceCheckUtils]: 45: Hoare triple {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,173 INFO L272 TraceCheckUtils]: 46: Hoare triple {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 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)); {18454#true} is VALID [2022-04-08 04:52:34,173 INFO L290 TraceCheckUtils]: 47: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:34,174 INFO L290 TraceCheckUtils]: 48: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:34,174 INFO L290 TraceCheckUtils]: 49: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:34,175 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #65#return; {18618#(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) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,175 INFO L290 TraceCheckUtils]: 51: Hoare triple {18618#(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) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !!(~x~0 <= ~X~0); {18618#(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) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,176 INFO L290 TraceCheckUtils]: 52: Hoare triple {18618#(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) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {18625#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,180 INFO L290 TraceCheckUtils]: 53: Hoare triple {18625#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18629#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-08 04:52:34,186 INFO L290 TraceCheckUtils]: 54: Hoare triple {18629#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18633#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~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) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-08 04:52:34,189 INFO L272 TraceCheckUtils]: 55: Hoare triple {18633#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~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) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 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)); {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:52:34,189 INFO L290 TraceCheckUtils]: 56: Hoare triple {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18641#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:34,189 INFO L290 TraceCheckUtils]: 57: Hoare triple {18641#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18455#false} is VALID [2022-04-08 04:52:34,189 INFO L290 TraceCheckUtils]: 58: Hoare triple {18455#false} assume !false; {18455#false} is VALID [2022-04-08 04:52:34,190 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:52:34,190 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:52:37,762 INFO L290 TraceCheckUtils]: 58: Hoare triple {18455#false} assume !false; {18455#false} is VALID [2022-04-08 04:52:37,765 INFO L290 TraceCheckUtils]: 57: Hoare triple {18641#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18455#false} is VALID [2022-04-08 04:52:37,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18641#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:37,766 INFO L272 TraceCheckUtils]: 55: Hoare triple {18657#(= (+ (* 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)); {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:52:37,767 INFO L290 TraceCheckUtils]: 54: Hoare triple {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18657#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:52:37,769 INFO L290 TraceCheckUtils]: 53: Hoare triple {18665#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18661#(= (+ (* 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-08 04:52:37,771 INFO L290 TraceCheckUtils]: 52: Hoare triple {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {18665#(= (+ (* (* 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-08 04:52:37,771 INFO L290 TraceCheckUtils]: 51: Hoare triple {18661#(= (+ (* 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); {18661#(= (+ (* 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-08 04:52:37,772 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18675#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {18661#(= (+ (* 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-08 04:52:37,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:37,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {18685#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:37,773 INFO L290 TraceCheckUtils]: 47: Hoare triple {18454#true} ~cond := #in~cond; {18685#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:52:37,773 INFO L272 TraceCheckUtils]: 46: Hoare triple {18675#(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)); {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 45: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18675#(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-08 04:52:37,774 INFO L290 TraceCheckUtils]: 44: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L272 TraceCheckUtils]: 37: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-08 04:52:37,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L272 TraceCheckUtils]: 28: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 25: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L272 TraceCheckUtils]: 19: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {18454#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18454#true} {18454#true} #63#return; {18454#true} is VALID [2022-04-08 04:52:37,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L272 TraceCheckUtils]: 12: Hoare triple {18454#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {18454#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18454#true} {18454#true} #61#return; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {18454#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {18454#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; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {18454#true} call #t~ret8 := main(); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18454#true} {18454#true} #69#return; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {18454#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); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {18454#true} call ULTIMATE.init(); {18454#true} is VALID [2022-04-08 04:52:37,776 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-08 04:52:37,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:52:37,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1707493662] [2022-04-08 04:52:37,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:52:37,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1400294721] [2022-04-08 04:52:37,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1400294721] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:52:37,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:52:37,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-08 04:52:37,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:52:37,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1132311314] [2022-04-08 04:52:37,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1132311314] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:52:37,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:52:37,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 04:52:37,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1650391820] [2022-04-08 04:52:37,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:52:37,778 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:52:37,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:52:37,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:52:41,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:41,861 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 04:52:41,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:52:41,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 04:52:41,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=405, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:52:41,862 INFO L87 Difference]: Start difference. First operand 132 states and 144 transitions. Second operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:52:44,632 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-08 04:52:48,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:48,619 INFO L93 Difference]: Finished difference Result 143 states and 155 transitions. [2022-04-08 04:52:48,619 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 04:52:48,619 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:52:48,619 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:52:48,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:52:48,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-08 04:52:48,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:52:48,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-08 04:52:48,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-08 04:52:52,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:52,747 INFO L225 Difference]: With dead ends: 143 [2022-04-08 04:52:52,747 INFO L226 Difference]: Without dead ends: 141 [2022-04-08 04:52:52,748 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=85, Invalid=565, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:52:52,748 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 19 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 504 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 510 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 504 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:52:52,748 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 241 Invalid, 510 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 504 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-04-08 04:52:52,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-08 04:52:53,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 132. [2022-04-08 04:52:53,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:52:53,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:52:53,156 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:52:53,156 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:52:53,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:53,165 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-04-08 04:52:53,165 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-04-08 04:52:53,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:52:53,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:52:53,165 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 141 states. [2022-04-08 04:52:53,165 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 141 states. [2022-04-08 04:52:53,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:53,167 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-04-08 04:52:53,167 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-04-08 04:52:53,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:52:53,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:52:53,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:52:53,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:52:53,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 04:52:53,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 144 transitions. [2022-04-08 04:52:53,183 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 144 transitions. Word has length 59 [2022-04-08 04:52:53,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:52:53,183 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 144 transitions. [2022-04-08 04:52:53,184 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:52:53,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 144 transitions. [2022-04-08 04:52:54,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:54,865 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-08 04:52:54,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:52:54,866 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:52:54,866 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:52:54,882 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 04:52:55,066 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:52:55,066 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:52:55,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:52:55,067 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-08 04:52:55,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:52:55,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [231860557] [2022-04-08 04:52:55,067 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:52:55,067 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-08 04:52:55,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:52:55,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2099883620] [2022-04-08 04:52:55,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:52:55,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:52:55,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:52:55,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1299408788] [2022-04-08 04:52:55,090 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:52:55,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:52:55,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:52:55,093 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:52:55,097 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-08 04:52:55,143 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:52:55,143 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:52:55,144 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 04:52:55,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:52:55,159 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:53:13,850 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:18,345 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:18,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {19669#true} call ULTIMATE.init(); {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {19669#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); {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19669#true} {19669#true} #69#return; {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {19669#true} call #t~ret8 := main(); {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {19669#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; {19669#true} is VALID [2022-04-08 04:53:18,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {19669#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:18,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {19669#true} ~cond := #in~cond; {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:53:18,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:53:18,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:53:18,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} {19669#true} #61#return; {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:53:18,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-08 04:53:18,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:18,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {19669#true} ~cond := #in~cond; {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:53:18,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:53:18,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:53:18,830 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {19725#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {19725#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,831 INFO L272 TraceCheckUtils]: 19: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:18,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:18,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:18,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:18,832 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19669#true} {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19754#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,834 INFO L290 TraceCheckUtils]: 26: Hoare triple {19754#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,834 INFO L290 TraceCheckUtils]: 27: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,834 INFO L272 TraceCheckUtils]: 28: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:18,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:18,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:18,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:18,840 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19669#true} {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-08 04:53:18,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19783#(and (<= main_~X~0 10) (<= main_~x~0 1) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-08 04:53:18,843 INFO L290 TraceCheckUtils]: 35: Hoare triple {19783#(and (<= main_~X~0 10) (<= main_~x~0 1) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:53:18,844 INFO L290 TraceCheckUtils]: 36: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:53:18,844 INFO L272 TraceCheckUtils]: 37: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 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)); {19669#true} is VALID [2022-04-08 04:53:18,844 INFO L290 TraceCheckUtils]: 38: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:18,844 INFO L290 TraceCheckUtils]: 39: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:18,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:18,845 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19669#true} {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} #65#return; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:53:18,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:53:18,846 INFO L290 TraceCheckUtils]: 43: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19812#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 2))} is VALID [2022-04-08 04:53:18,847 INFO L290 TraceCheckUtils]: 44: Hoare triple {19812#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19816#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-08 04:53:18,847 INFO L290 TraceCheckUtils]: 45: Hoare triple {19816#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:53:18,847 INFO L272 TraceCheckUtils]: 46: Hoare triple {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* 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)); {19669#true} is VALID [2022-04-08 04:53:18,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {19669#true} ~cond := #in~cond; {19827#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:53:18,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {19827#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:53:18,850 INFO L290 TraceCheckUtils]: 49: Hoare triple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:53:18,851 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-08 04:53:18,851 INFO L290 TraceCheckUtils]: 51: Hoare triple {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume !!(~x~0 <= ~X~0); {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-08 04:53:18,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19845#(and (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (<= main_~x~0 3) (= (+ (* (* 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-08 04:53:18,854 INFO L290 TraceCheckUtils]: 53: Hoare triple {19845#(and (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (<= main_~x~0 3) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19849#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~x~0 4) (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:53:18,858 INFO L290 TraceCheckUtils]: 54: Hoare triple {19849#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~x~0 4) (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19853#(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))) (<= main_~X~0 10) (<= (div main_~yx~0 main_~Y~0) 4) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (= (mod main_~yx~0 main_~Y~0) 0))} is VALID [2022-04-08 04:53:18,860 INFO L272 TraceCheckUtils]: 55: Hoare triple {19853#(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))) (<= main_~X~0 10) (<= (div main_~yx~0 main_~Y~0) 4) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (= (mod main_~yx~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)); {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:53:18,860 INFO L290 TraceCheckUtils]: 56: Hoare triple {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19861#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:53:18,860 INFO L290 TraceCheckUtils]: 57: Hoare triple {19861#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19670#false} is VALID [2022-04-08 04:53:18,860 INFO L290 TraceCheckUtils]: 58: Hoare triple {19670#false} assume !false; {19670#false} is VALID [2022-04-08 04:53:18,861 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 16 proven. 39 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:53:18,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:53:25,627 INFO L290 TraceCheckUtils]: 58: Hoare triple {19670#false} assume !false; {19670#false} is VALID [2022-04-08 04:53:25,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {19861#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19670#false} is VALID [2022-04-08 04:53:25,628 INFO L290 TraceCheckUtils]: 56: Hoare triple {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19861#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:53:25,628 INFO L272 TraceCheckUtils]: 55: Hoare triple {19877#(= (+ (* 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)); {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:53:25,629 INFO L290 TraceCheckUtils]: 54: Hoare triple {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19877#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:53:25,649 INFO L290 TraceCheckUtils]: 53: Hoare triple {19885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19881#(= (+ (* 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-08 04:53:25,650 INFO L290 TraceCheckUtils]: 52: Hoare triple {19881#(= (+ (* 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; {19885#(= (+ (* (* 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-08 04:53:25,650 INFO L290 TraceCheckUtils]: 51: Hoare triple {19881#(= (+ (* 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); {19881#(= (+ (* 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-08 04:53:25,651 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} {19895#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {19881#(= (+ (* 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-08 04:53:25,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:53:25,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {19905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:53:25,652 INFO L290 TraceCheckUtils]: 47: Hoare triple {19669#true} ~cond := #in~cond; {19905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:53:25,652 INFO L272 TraceCheckUtils]: 46: Hoare triple {19895#(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)); {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L290 TraceCheckUtils]: 45: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19895#(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-08 04:53:25,653 INFO L290 TraceCheckUtils]: 44: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {19669#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L272 TraceCheckUtils]: 37: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {19669#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 30: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L272 TraceCheckUtils]: 28: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 26: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {19669#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 21: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:25,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L272 TraceCheckUtils]: 19: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {19669#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19669#true} {19669#true} #63#return; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L272 TraceCheckUtils]: 12: Hoare triple {19669#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {19669#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19669#true} {19669#true} #61#return; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {19669#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {19669#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; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {19669#true} call #t~ret8 := main(); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19669#true} {19669#true} #69#return; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {19669#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); {19669#true} is VALID [2022-04-08 04:53:25,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {19669#true} call ULTIMATE.init(); {19669#true} is VALID [2022-04-08 04:53:25,656 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-08 04:53:25,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:53:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2099883620] [2022-04-08 04:53:25,656 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:53:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1299408788] [2022-04-08 04:53:25,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1299408788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:53:25,656 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:53:25,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-08 04:53:25,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:53:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [231860557] [2022-04-08 04:53:25,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [231860557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:53:25,656 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:53:25,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 04:53:25,657 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [369738307] [2022-04-08 04:53:25,657 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:53:25,657 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-08 04:53:25,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:53:25,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:53:25,734 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-08 04:53:25,734 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 04:53:25,735 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:53:25,735 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 04:53:25,735 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=605, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:53:25,735 INFO L87 Difference]: Start difference. First operand 132 states and 144 transitions. Second operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:53:29,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:53:29,868 INFO L93 Difference]: Finished difference Result 162 states and 179 transitions. [2022-04-08 04:53:29,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 04:53:29,868 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-08 04:53:29,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:53:29,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:53:29,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-08 04:53:29,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:53:29,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-08 04:53:29,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-08 04:53:30,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:53:30,061 INFO L225 Difference]: With dead ends: 162 [2022-04-08 04:53:30,061 INFO L226 Difference]: Without dead ends: 146 [2022-04-08 04:53:30,062 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 274 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=142, Invalid=914, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 04:53:30,062 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 505 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 525 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 505 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:53:30,062 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 113 Invalid, 525 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 505 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 04:53:30,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-08 04:53:30,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 144. [2022-04-08 04:53:30,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:53:30,529 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:53:30,529 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:53:30,529 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:53:30,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:53:30,534 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-04-08 04:53:30,534 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-04-08 04:53:30,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:53:30,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:53:30,534 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 146 states. [2022-04-08 04:53:30,535 INFO L87 Difference]: Start difference. First operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 146 states. [2022-04-08 04:53:30,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:53:30,537 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-04-08 04:53:30,537 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-04-08 04:53:30,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:53:30,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:53:30,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:53:30,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:53:30,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 04:53:30,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 157 transitions. [2022-04-08 04:53:30,540 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 157 transitions. Word has length 59 [2022-04-08 04:53:30,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:53:30,540 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 157 transitions. [2022-04-08 04:53:30,540 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-08 04:53:30,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 157 transitions. [2022-04-08 04:53:32,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:53:32,348 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 157 transitions. [2022-04-08 04:53:32,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:53:32,349 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:53:32,349 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:53:32,366 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 04:53:32,566 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:53:32,566 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:53:32,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:53:32,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-08 04:53:32,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:53:32,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [860442763] [2022-04-08 04:53:32,567 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:53:32,567 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-08 04:53:32,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:53:32,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1502723388] [2022-04-08 04:53:32,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:53:32,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:53:32,577 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:53:32,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1023756694] [2022-04-08 04:53:32,578 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:53:32,578 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:53:32,578 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:53:32,578 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:53:32,579 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-08 04:53:32,623 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:53:32,623 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:53:32,624 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-08 04:53:32,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:53:32,638 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:54:00,667 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:54:02,034 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:54:20,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {20965#true} call ULTIMATE.init(); {20965#true} is VALID [2022-04-08 04:54:20,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {20965#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); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20965#true} {20965#true} #69#return; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {20965#true} call #t~ret8 := main(); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {20965#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; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {20965#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20965#true} {20965#true} #61#return; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {20965#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {20965#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:20,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20965#true} {20965#true} #63#return; {20965#true} is VALID [2022-04-08 04:54:20,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {20965#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:54:20,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:54:20,958 INFO L272 TraceCheckUtils]: 19: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:20,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:20,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:20,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:20,958 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20965#true} {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:54:20,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:54:20,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:54:20,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:54:22,963 WARN L290 TraceCheckUtils]: 27: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-08 04:54:22,963 INFO L272 TraceCheckUtils]: 28: Hoare triple {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:22,963 INFO L290 TraceCheckUtils]: 29: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:54:22,964 INFO L290 TraceCheckUtils]: 30: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:22,964 INFO L290 TraceCheckUtils]: 31: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:22,965 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:54:22,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:54:22,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-08 04:54:22,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-08 04:54:24,971 WARN L290 TraceCheckUtils]: 36: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0))} is UNKNOWN [2022-04-08 04:54:24,971 INFO L272 TraceCheckUtils]: 37: Hoare triple {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~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)); {20965#true} is VALID [2022-04-08 04:54:24,972 INFO L290 TraceCheckUtils]: 38: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:54:24,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:24,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:24,973 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0))} #65#return; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-08 04:54:24,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-08 04:54:24,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:54:24,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:54:24,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* 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-08 04:54:24,975 INFO L272 TraceCheckUtils]: 46: Hoare triple {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* 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)); {20965#true} is VALID [2022-04-08 04:54:24,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:54:24,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:24,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:24,977 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* 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-08 04:54:24,977 INFO L290 TraceCheckUtils]: 51: Hoare triple {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* 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); {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* 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-08 04:54:24,978 INFO L290 TraceCheckUtils]: 52: Hoare triple {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* 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; {21136#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= main_~y~0 1) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:54:24,987 INFO L290 TraceCheckUtils]: 53: Hoare triple {21136#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= main_~y~0 1) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21140#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (= (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:54:24,993 INFO L290 TraceCheckUtils]: 54: Hoare triple {21140#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (= (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21144#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (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) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-08 04:54:24,996 INFO L272 TraceCheckUtils]: 55: Hoare triple {21144#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (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) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))) (= 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)); {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:54:24,996 INFO L290 TraceCheckUtils]: 56: Hoare triple {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:54:24,996 INFO L290 TraceCheckUtils]: 57: Hoare triple {21152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20966#false} is VALID [2022-04-08 04:54:24,996 INFO L290 TraceCheckUtils]: 58: Hoare triple {20966#false} assume !false; {20966#false} is VALID [2022-04-08 04:54:24,997 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:54:24,997 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:54:29,103 INFO L290 TraceCheckUtils]: 58: Hoare triple {20966#false} assume !false; {20966#false} is VALID [2022-04-08 04:54:29,103 INFO L290 TraceCheckUtils]: 57: Hoare triple {21152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20966#false} is VALID [2022-04-08 04:54:29,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:54:29,104 INFO L272 TraceCheckUtils]: 55: Hoare triple {21168#(= (+ (* 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)); {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:54:29,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21168#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:54:29,126 INFO L290 TraceCheckUtils]: 53: Hoare triple {21176#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21172#(= (+ (* 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-08 04:54:29,127 INFO L290 TraceCheckUtils]: 52: Hoare triple {21172#(= (+ (* 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; {21176#(= (+ (* (* 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-08 04:54:29,127 INFO L290 TraceCheckUtils]: 51: Hoare triple {21172#(= (+ (* 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); {21172#(= (+ (* 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-08 04:54:29,128 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21186#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {21172#(= (+ (* 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-08 04:54:29,128 INFO L290 TraceCheckUtils]: 49: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:29,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {21196#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:54:29,129 INFO L290 TraceCheckUtils]: 47: Hoare triple {20965#true} ~cond := #in~cond; {21196#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:54:29,129 INFO L272 TraceCheckUtils]: 46: Hoare triple {21186#(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)); {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21186#(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-08 04:54:29,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {20965#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 40: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 39: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:29,130 INFO L272 TraceCheckUtils]: 37: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 36: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {20965#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 29: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L272 TraceCheckUtils]: 28: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {20965#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L272 TraceCheckUtils]: 19: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:29,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 17: Hoare triple {20965#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20965#true} {20965#true} #63#return; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {20965#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {20965#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20965#true} {20965#true} #61#return; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L272 TraceCheckUtils]: 6: Hoare triple {20965#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {20965#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; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L272 TraceCheckUtils]: 4: Hoare triple {20965#true} call #t~ret8 := main(); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20965#true} {20965#true} #69#return; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {20965#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); {20965#true} is VALID [2022-04-08 04:54:29,132 INFO L272 TraceCheckUtils]: 0: Hoare triple {20965#true} call ULTIMATE.init(); {20965#true} is VALID [2022-04-08 04:54:29,133 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-08 04:54:29,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:54:29,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1502723388] [2022-04-08 04:54:29,133 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:54:29,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1023756694] [2022-04-08 04:54:29,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1023756694] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:54:29,133 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:54:29,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-08 04:54:29,133 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:54:29,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [860442763] [2022-04-08 04:54:29,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [860442763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:54:29,133 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:54:29,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 04:54:29,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1710597161] [2022-04-08 04:54:29,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:54:29,134 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:54:29,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:54:29,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:54:33,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:54:33,223 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 04:54:33,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:54:33,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 04:54:33,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=405, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:54:33,224 INFO L87 Difference]: Start difference. First operand 144 states and 157 transitions. Second operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:54:35,870 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-08 04:54:39,620 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-08 04:54:41,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:54:41,451 INFO L93 Difference]: Finished difference Result 157 states and 172 transitions. [2022-04-08 04:54:41,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 04:54:41,451 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:54:41,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:54:41,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:54:41,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-08 04:54:41,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:54:41,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-08 04:54:41,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-08 04:54:45,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:54:45,562 INFO L225 Difference]: With dead ends: 157 [2022-04-08 04:54:45,562 INFO L226 Difference]: Without dead ends: 155 [2022-04-08 04:54:45,562 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=85, Invalid=565, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:54:45,562 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 467 mSolverCounterSat, 4 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 473 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 467 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:54:45,562 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 230 Invalid, 473 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 467 Invalid, 2 Unknown, 0 Unchecked, 5.3s Time] [2022-04-08 04:54:45,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-08 04:54:46,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 153. [2022-04-08 04:54:46,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:54:46,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:54:46,021 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:54:46,021 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:54:46,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:54:46,041 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2022-04-08 04:54:46,041 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2022-04-08 04:54:46,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:54:46,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:54:46,042 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 155 states. [2022-04-08 04:54:46,042 INFO L87 Difference]: Start difference. First operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 155 states. [2022-04-08 04:54:46,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:54:46,044 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2022-04-08 04:54:46,044 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2022-04-08 04:54:46,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:54:46,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:54:46,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:54:46,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:54:46,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:54:46,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 167 transitions. [2022-04-08 04:54:46,046 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 167 transitions. Word has length 59 [2022-04-08 04:54:46,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:54:46,046 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 167 transitions. [2022-04-08 04:54:46,046 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:54:46,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 167 transitions. [2022-04-08 04:54:48,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 166 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:54:48,602 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 167 transitions. [2022-04-08 04:54:48,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:54:48,602 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:54:48,602 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:54:48,618 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Ended with exit code 0 [2022-04-08 04:54:48,803 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-08 04:54:48,803 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:54:48,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:54:48,804 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 21 times [2022-04-08 04:54:48,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:54:48,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1035305643] [2022-04-08 04:54:48,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:54:48,804 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 22 times [2022-04-08 04:54:48,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:54:48,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [661603562] [2022-04-08 04:54:48,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:54:48,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:54:48,822 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:54:48,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [180662669] [2022-04-08 04:54:48,822 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:54:48,822 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:54:48,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:54:48,825 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:54:48,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-08 04:54:48,926 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:54:48,926 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:54:48,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-08 04:54:48,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:54:48,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:54:49,357 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:54:54,109 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:54:57,537 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:55:03,377 INFO L272 TraceCheckUtils]: 0: Hoare triple {22278#true} call ULTIMATE.init(); {22278#true} is VALID [2022-04-08 04:55:03,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {22278#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); {22278#true} is VALID [2022-04-08 04:55:03,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:03,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22278#true} {22278#true} #69#return; {22278#true} is VALID [2022-04-08 04:55:03,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {22278#true} call #t~ret8 := main(); {22278#true} is VALID [2022-04-08 04:55:03,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {22278#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; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {22278#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22278#true} {22278#true} #61#return; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {22278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L272 TraceCheckUtils]: 12: Hoare triple {22278#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:03,378 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22278#true} {22278#true} #63#return; {22278#true} is VALID [2022-04-08 04:55:03,379 INFO L290 TraceCheckUtils]: 17: Hoare triple {22278#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:55:03,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:55:03,379 INFO L272 TraceCheckUtils]: 19: Hoare triple {22334#(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)); {22278#true} is VALID [2022-04-08 04:55:03,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:03,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:03,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:03,380 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22278#true} {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:55:03,380 INFO L290 TraceCheckUtils]: 24: Hoare triple {22334#(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); {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:55:03,382 INFO L290 TraceCheckUtils]: 25: Hoare triple {22334#(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; {22359#(and (= main_~x~0 0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:55:03,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {22359#(and (= main_~x~0 0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22363#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:55:03,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {22363#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:55:03,383 INFO L272 TraceCheckUtils]: 28: Hoare triple {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:03,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:55:03,383 INFO L290 TraceCheckUtils]: 30: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,383 INFO L290 TraceCheckUtils]: 31: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,386 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:55:03,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:55:03,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22392#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:55:03,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {22392#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22396#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} is VALID [2022-04-08 04:55:03,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {22396#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} is VALID [2022-04-08 04:55:03,391 INFO L272 TraceCheckUtils]: 37: Hoare triple {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~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)); {22278#true} is VALID [2022-04-08 04:55:03,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:55:03,391 INFO L290 TraceCheckUtils]: 39: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,394 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} #65#return; {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-08 04:55:03,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} assume !!(~x~0 <= ~X~0); {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-08 04:55:03,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22423#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-08 04:55:03,400 INFO L290 TraceCheckUtils]: 44: Hoare triple {22423#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22427#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-08 04:55:03,401 INFO L290 TraceCheckUtils]: 45: Hoare triple {22427#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:55:03,401 INFO L272 TraceCheckUtils]: 46: Hoare triple {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* 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)); {22278#true} is VALID [2022-04-08 04:55:03,401 INFO L290 TraceCheckUtils]: 47: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:55:03,402 INFO L290 TraceCheckUtils]: 48: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:03,405 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {22447#(and (< (* main_~Y~0 2) main_~X~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_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:55:03,406 INFO L290 TraceCheckUtils]: 51: Hoare triple {22447#(and (< (* main_~Y~0 2) main_~X~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_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {22447#(and (< (* main_~Y~0 2) main_~X~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_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:55:03,407 INFO L290 TraceCheckUtils]: 52: Hoare triple {22447#(and (< (* main_~Y~0 2) main_~X~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_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22454#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-08 04:55:03,409 INFO L290 TraceCheckUtils]: 53: Hoare triple {22454#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22458#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))))} is VALID [2022-04-08 04:55:03,412 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22462#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (* main_~Y~0 4) main_~Y~0) main_~Y~0) main_~yx~0))} is VALID [2022-04-08 04:55:03,414 INFO L272 TraceCheckUtils]: 55: Hoare triple {22462#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (* main_~Y~0 4) main_~Y~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)); {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:55:03,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22470#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:55:03,415 INFO L290 TraceCheckUtils]: 57: Hoare triple {22470#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22279#false} is VALID [2022-04-08 04:55:03,415 INFO L290 TraceCheckUtils]: 58: Hoare triple {22279#false} assume !false; {22279#false} is VALID [2022-04-08 04:55:03,415 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:55:03,415 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:55:09,323 INFO L290 TraceCheckUtils]: 58: Hoare triple {22279#false} assume !false; {22279#false} is VALID [2022-04-08 04:55:09,324 INFO L290 TraceCheckUtils]: 57: Hoare triple {22470#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22279#false} is VALID [2022-04-08 04:55:09,324 INFO L290 TraceCheckUtils]: 56: Hoare triple {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22470#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:55:09,324 INFO L272 TraceCheckUtils]: 55: Hoare triple {22486#(= (+ (* 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)); {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:55:09,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22486#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:55:09,328 INFO L290 TraceCheckUtils]: 53: Hoare triple {22494#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22490#(= (+ (* 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-08 04:55:09,330 INFO L290 TraceCheckUtils]: 52: Hoare triple {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22494#(= (+ (* (* 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-08 04:55:09,330 INFO L290 TraceCheckUtils]: 51: Hoare triple {22490#(= (+ (* 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); {22490#(= (+ (* 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-08 04:55:09,331 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22504#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {22490#(= (+ (* 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-08 04:55:09,332 INFO L290 TraceCheckUtils]: 49: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:09,332 INFO L290 TraceCheckUtils]: 48: Hoare triple {22514#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:55:09,334 INFO L290 TraceCheckUtils]: 47: Hoare triple {22278#true} ~cond := #in~cond; {22514#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:55:09,334 INFO L272 TraceCheckUtils]: 46: Hoare triple {22504#(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)); {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 45: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22504#(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-08 04:55:09,335 INFO L290 TraceCheckUtils]: 44: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {22278#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L272 TraceCheckUtils]: 37: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:09,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {22278#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 33: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 30: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 29: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L272 TraceCheckUtils]: 28: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {22278#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 22: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 21: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L272 TraceCheckUtils]: 19: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-08 04:55:09,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {22278#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22278#true} {22278#true} #63#return; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 15: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L272 TraceCheckUtils]: 12: Hoare triple {22278#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {22278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22278#true} {22278#true} #61#return; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {22278#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {22278#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; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {22278#true} call #t~ret8 := main(); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22278#true} {22278#true} #69#return; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {22278#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); {22278#true} is VALID [2022-04-08 04:55:09,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {22278#true} call ULTIMATE.init(); {22278#true} is VALID [2022-04-08 04:55:09,338 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-08 04:55:09,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:55:09,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [661603562] [2022-04-08 04:55:09,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:55:09,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [180662669] [2022-04-08 04:55:09,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [180662669] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:55:09,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:55:09,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-08 04:55:09,338 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:55:09,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1035305643] [2022-04-08 04:55:09,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1035305643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:55:09,338 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:55:09,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 04:55:09,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1862793253] [2022-04-08 04:55:09,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:55:09,339 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:55:09,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:55:09,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:55:09,401 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-08 04:55:09,401 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 04:55:09,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:55:09,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 04:55:09,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=622, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:55:09,402 INFO L87 Difference]: Start difference. First operand 153 states and 167 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:55:16,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:55:16,111 INFO L93 Difference]: Finished difference Result 168 states and 181 transitions. [2022-04-08 04:55:16,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 04:55:16,111 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-08 04:55:16,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:55:16,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:55:16,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 64 transitions. [2022-04-08 04:55:16,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:55:16,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 64 transitions. [2022-04-08 04:55:16,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 64 transitions. [2022-04-08 04:55:16,230 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-08 04:55:16,231 INFO L225 Difference]: With dead ends: 168 [2022-04-08 04:55:16,231 INFO L226 Difference]: Without dead ends: 166 [2022-04-08 04:55:16,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=124, Invalid=932, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 04:55:16,232 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 21 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 682 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 698 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 682 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:55:16,232 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 269 Invalid, 698 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 682 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-08 04:55:16,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-04-08 04:55:16,728 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 157. [2022-04-08 04:55:16,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:55:16,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:55:16,741 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:55:16,742 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:55:16,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:55:16,756 INFO L93 Difference]: Finished difference Result 166 states and 179 transitions. [2022-04-08 04:55:16,756 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 179 transitions. [2022-04-08 04:55:16,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:55:16,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:55:16,757 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 166 states. [2022-04-08 04:55:16,757 INFO L87 Difference]: Start difference. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 166 states. [2022-04-08 04:55:16,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:55:16,766 INFO L93 Difference]: Finished difference Result 166 states and 179 transitions. [2022-04-08 04:55:16,766 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 179 transitions. [2022-04-08 04:55:16,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:55:16,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:55:16,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:55:16,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:55:16,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 04:55:16,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 170 transitions. [2022-04-08 04:55:16,769 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 170 transitions. Word has length 59 [2022-04-08 04:55:16,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:55:16,769 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 170 transitions. [2022-04-08 04:55:16,769 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:55:16,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 170 transitions. [2022-04-08 04:55:18,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:55:18,035 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-08 04:55:18,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 04:55:18,036 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:55:18,036 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:55:18,067 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-08 04:55:18,236 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-08 04:55:18,236 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:55:18,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:55:18,237 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 23 times [2022-04-08 04:55:18,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:55:18,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1331273496] [2022-04-08 04:55:18,237 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:55:18,237 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 24 times [2022-04-08 04:55:18,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:55:18,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [424255922] [2022-04-08 04:55:18,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:55:18,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:55:18,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:55:18,247 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1070344775] [2022-04-08 04:55:18,247 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:55:18,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:55:18,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:55:18,248 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:55:18,249 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-08 04:55:18,310 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:55:18,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:55:18,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-08 04:55:18,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:55:18,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:55:37,827 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:55:38,047 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:56:05,504 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful