/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 13:45:49,852 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 13:45:49,854 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 13:45:49,904 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 13:45:49,905 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 13:45:49,906 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 13:45:49,909 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 13:45:49,912 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 13:45:49,913 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 13:45:49,918 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 13:45:49,919 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 13:45:49,920 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 13:45:49,920 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 13:45:49,921 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 13:45:49,921 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 13:45:49,922 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 13:45:49,922 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 13:45:49,923 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 13:45:49,924 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 13:45:49,925 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 13:45:49,926 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 13:45:49,929 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 13:45:49,931 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 13:45:49,934 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 13:45:49,935 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 13:45:49,942 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 13:45:49,942 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 13:45:49,943 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 13:45:49,943 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 13:45:49,943 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 13:45:49,945 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 13:45:49,945 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 13:45:49,947 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 13:45:49,947 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 13:45:49,948 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 13:45:49,948 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 13:45:49,949 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 13:45:49,949 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 13:45:49,949 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 13:45:49,950 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 13:45:49,950 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 13:45:49,952 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 13:45:49,953 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 13:45:49,963 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 13:45:49,964 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 13:45:49,965 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 13:45:49,965 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 13:45:49,966 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 13:45:49,966 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 13:45:49,966 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 13:45:49,966 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 13:45:49,967 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 13:45:49,967 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 13:45:49,968 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 13:45:49,968 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 13:45:50,212 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 13:45:50,237 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 13:45:50,239 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 13:45:50,240 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 13:45:50,240 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 13:45:50,241 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-15 13:45:50,285 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51308426b/2669c9c3a5f84470ae194c58e7a38c0b/FLAGdbb0eb2eb [2022-04-15 13:45:50,672 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 13:45:50,672 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-15 13:45:50,679 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51308426b/2669c9c3a5f84470ae194c58e7a38c0b/FLAGdbb0eb2eb [2022-04-15 13:45:50,693 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51308426b/2669c9c3a5f84470ae194c58e7a38c0b [2022-04-15 13:45:50,695 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 13:45:50,696 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 13:45:50,698 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 13:45:50,698 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 13:45:50,701 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 13:45:50,702 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:50,703 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5e423c64 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50, skipping insertion in model container [2022-04-15 13:45:50,703 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:50,708 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 13:45:50,722 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 13:45:50,917 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_valuebound2.c[597,610] [2022-04-15 13:45:50,945 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 13:45:50,952 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 13:45:50,969 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_valuebound2.c[597,610] [2022-04-15 13:45:50,984 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 13:45:50,997 INFO L208 MainTranslator]: Completed translation [2022-04-15 13:45:50,998 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50 WrapperNode [2022-04-15 13:45:50,998 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 13:45:50,999 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 13:45:50,999 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 13:45:50,999 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 13:45:51,009 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,010 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,015 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,015 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,021 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,026 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,031 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,033 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 13:45:51,034 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 13:45:51,034 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 13:45:51,034 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 13:45:51,035 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (1/1) ... [2022-04-15 13:45:51,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 13:45:51,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:51,064 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 13:45:51,086 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 13:45:51,099 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 13:45:51,100 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 13:45:51,100 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 13:45:51,100 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 13:45:51,100 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 13:45:51,101 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 13:45:51,101 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 13:45:51,101 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 13:45:51,101 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 13:45:51,101 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 13:45:51,101 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 13:45:51,102 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 13:45:51,102 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 13:45:51,102 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 13:45:51,103 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 13:45:51,103 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 13:45:51,103 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 13:45:51,103 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 13:45:51,104 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 13:45:51,104 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 13:45:51,164 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 13:45:51,165 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 13:45:51,378 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 13:45:51,384 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 13:45:51,384 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 13:45:51,386 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:45:51 BoogieIcfgContainer [2022-04-15 13:45:51,386 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 13:45:51,388 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 13:45:51,388 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 13:45:51,394 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 13:45:51,394 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 01:45:50" (1/3) ... [2022-04-15 13:45:51,395 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52c99285 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:45:51, skipping insertion in model container [2022-04-15 13:45:51,395 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:50" (2/3) ... [2022-04-15 13:45:51,395 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52c99285 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:45:51, skipping insertion in model container [2022-04-15 13:45:51,395 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:45:51" (3/3) ... [2022-04-15 13:45:51,396 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-15 13:45:51,400 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 13:45:51,401 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 13:45:51,444 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 13:45:51,452 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 13:45:51,452 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 13:45:51,470 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-15 13:45:51,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 13:45:51,477 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:51,477 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-15 13:45:51,478 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:51,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:51,483 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-15 13:45:51,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:51,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [958158212] [2022-04-15 13:45:51,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:51,502 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-15 13:45:51,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:51,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [849214989] [2022-04-15 13:45:51,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:51,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:51,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:51,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 13:45:51,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:51,712 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-15 13:45:51,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 13:45:51,713 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 13:45:51,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 13:45:51,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:51,727 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:51,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:51,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:51,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 13:45:51,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 13:45:51,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:51,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:51,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:51,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:51,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 13:45:51,758 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-15 13:45:51,758 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-15 13:45:51,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 13:45:51,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 13:45:51,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-15 13:45:51,759 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-15 13:45:51,759 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 13:45:51,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:51,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:51,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:51,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 13:45:51,761 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-15 13:45:51,762 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 13:45:51,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:51,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:51,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:51,763 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 13:45:51,763 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-15 13:45:51,764 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-15 13:45:51,764 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-15 13:45:51,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 13:45:51,764 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 13:45:51,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 13:45:51,765 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-15 13:45:51,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:51,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [849214989] [2022-04-15 13:45:51,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [849214989] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:51,767 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:51,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 13:45:51,769 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:51,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [958158212] [2022-04-15 13:45:51,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [958158212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:51,770 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:51,770 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 13:45:51,770 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1857790322] [2022-04-15 13:45:51,770 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:51,775 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-15 13:45:51,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:51,780 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-15 13:45:51,820 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-15 13:45:51,820 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 13:45:51,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:51,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 13:45:51,845 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 13:45:51,849 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-15 13:45:52,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:52,010 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-15 13:45:52,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 13:45:52,010 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-15 13:45:52,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:52,015 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-15 13:45:52,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 13:45:52,029 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-15 13:45:52,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 13:45:52,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-15 13:45:52,174 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-15 13:45:52,181 INFO L225 Difference]: With dead ends: 57 [2022-04-15 13:45:52,182 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 13:45:52,184 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-15 13:45:52,188 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-15 13:45:52,189 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-15 13:45:52,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 13:45:52,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 13:45:52,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:52,223 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-15 13:45:52,225 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-15 13:45:52,226 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-15 13:45:52,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:52,236 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 13:45:52,241 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:52,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:52,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:52,243 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-15 13:45:52,243 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-15 13:45:52,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:52,247 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 13:45:52,247 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:52,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:52,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:52,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:52,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:52,249 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-15 13:45:52,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-15 13:45:52,254 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-15 13:45:52,254 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:52,254 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-15 13:45:52,255 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-15 13:45:52,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-15 13:45:52,291 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-15 13:45:52,291 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:52,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 13:45:52,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:52,293 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-15 13:45:52,293 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 13:45:52,293 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:52,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:52,294 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-15 13:45:52,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:52,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2052030218] [2022-04-15 13:45:52,296 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:52,296 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-15 13:45:52,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:52,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750089533] [2022-04-15 13:45:52,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:52,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:52,335 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:52,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [608171898] [2022-04-15 13:45:52,336 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:52,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:52,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:52,343 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:52,349 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 13:45:52,402 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 13:45:52,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:52,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 13:45:52,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:52,419 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:45:52,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-15 13:45:52,584 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-15 13:45:52,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:52,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-15 13:45:52,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-15 13:45:52,585 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-15 13:45:52,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-15 13:45:52,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 13:45:52,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 13:45:52,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:52,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-15 13:45:52,586 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-15 13:45:52,587 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-15 13:45:52,587 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 13:45:52,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 13:45:52,587 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:52,587 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-15 13:45:52,588 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-15 13:45:52,589 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-15 13:45:52,590 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-15 13:45:52,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:52,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-15 13:45:52,591 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-15 13:45:52,592 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-15 13:45:52,592 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 13:45:52,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:52,592 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750089533] [2022-04-15 13:45:52,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:45:52,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [608171898] [2022-04-15 13:45:52,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [608171898] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:52,593 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:52,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 13:45:52,594 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:52,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2052030218] [2022-04-15 13:45:52,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2052030218] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:52,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:52,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 13:45:52,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1597026888] [2022-04-15 13:45:52,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:52,596 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-15 13:45:52,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:52,597 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-15 13:45:52,616 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-15 13:45:52,617 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 13:45:52,617 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:52,617 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 13:45:52,618 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 13:45:52,619 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-15 13:45:52,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:52,920 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 13:45:52,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 13:45:52,921 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-15 13:45:52,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:52,921 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-15 13:45:52,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 13:45:52,926 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-15 13:45:52,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 13:45:52,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 13:45:52,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:52,981 INFO L225 Difference]: With dead ends: 39 [2022-04-15 13:45:52,982 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 13:45:52,982 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-15 13:45:52,983 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-15 13:45:52,984 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-15 13:45:52,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 13:45:52,995 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-15 13:45:52,995 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:52,995 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-15 13:45:52,996 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-15 13:45:52,996 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-15 13:45:52,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:52,998 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 13:45:52,999 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 13:45:52,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:52,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:52,999 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-15 13:45:53,000 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-15 13:45:53,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:53,002 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 13:45:53,002 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 13:45:53,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:53,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:53,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:53,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:53,003 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-15 13:45:53,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-15 13:45:53,005 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-15 13:45:53,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:53,005 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-15 13:45:53,005 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-15 13:45:53,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-15 13:45:53,042 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-15 13:45:53,042 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-15 13:45:53,043 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 13:45:53,043 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:53,043 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-15 13:45:53,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 13:45:53,273 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:53,274 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:53,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:53,275 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-15 13:45:53,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:53,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1667245882] [2022-04-15 13:45:53,275 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:53,275 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-15 13:45:53,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:53,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1166706106] [2022-04-15 13:45:53,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:53,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:53,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:53,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [786591485] [2022-04-15 13:45:53,293 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:53,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:53,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:53,294 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:53,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 13:45:53,374 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:45:53,374 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:53,375 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 13:45:53,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:53,387 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:46:03,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 13:46:03,368 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-15 13:46:03,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:46:03,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 13:46:03,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 13:46:03,369 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-15 13:46:03,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-15 13:46:03,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:46:03,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:46:03,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:46:03,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #61#return; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:46:03,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:46:03,372 INFO L272 TraceCheckUtils]: 12: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-15 13:46:03,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:46:03,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:46:03,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:46:03,374 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:46:03,375 INFO L290 TraceCheckUtils]: 17: Hoare triple {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} is VALID [2022-04-15 13:46:03,376 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} is VALID [2022-04-15 13:46:03,376 INFO L272 TraceCheckUtils]: 19: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} 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-15 13:46:03,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:46:03,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:46:03,377 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:46:03,377 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} #65#return; {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} is VALID [2022-04-15 13:46:03,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} assume !!(~x~0 <= ~X~0); {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} is VALID [2022-04-15 13:46:03,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 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 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-15 13:46:03,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-15 13:46:03,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-15 13:46:03,384 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= 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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:46:03,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:46:03,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 13:46:03,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 13:46:03,386 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-15 13:46:03,386 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:33,346 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:33,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1166706106] [2022-04-15 13:47:33,346 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:33,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [786591485] [2022-04-15 13:47:33,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [786591485] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 13:47:33,347 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 13:47:33,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 13:47:33,347 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:33,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1667245882] [2022-04-15 13:47:33,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1667245882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:33,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:33,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 13:47:33,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1682096925] [2022-04-15 13:47:33,348 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:33,348 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-15 13:47:33,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:33,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 13:47:33,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:33,386 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 13:47:33,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:33,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 13:47:33,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-15 13:47:33,387 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 13:47:33,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:33,881 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-15 13:47:33,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 13:47:33,882 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-15 13:47:33,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:33,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 13:47:33,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-15 13:47:33,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 13:47:33,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-15 13:47:33,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-15 13:47:33,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:33,950 INFO L225 Difference]: With dead ends: 61 [2022-04-15 13:47:33,950 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 13:47:33,951 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-15 13:47:33,952 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 27 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:33,953 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 123 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 13:47:33,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 13:47:33,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 13:47:33,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:33,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,987 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,988 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:33,990 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-15 13:47:33,990 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 13:47:33,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:33,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:33,991 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,991 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:33,993 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-15 13:47:33,993 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 13:47:33,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:33,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:33,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:33,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:33,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-15 13:47:33,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-15 13:47:33,995 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-15 13:47:33,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:33,996 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-15 13:47:33,996 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 13:47:33,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 38 transitions. [2022-04-15 13:47:34,032 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-15 13:47:34,032 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 13:47:34,033 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 13:47:34,033 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:34,033 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-15 13:47:34,049 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 13:47:34,235 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 13:47:34,235 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:34,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:34,236 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-15 13:47:34,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:34,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [791843937] [2022-04-15 13:47:34,237 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:34,237 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-15 13:47:34,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:34,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [667683483] [2022-04-15 13:47:34,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:34,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:34,258 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:34,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [272886642] [2022-04-15 13:47:34,258 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:47:34,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:34,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:34,263 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:34,276 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 13:47:34,308 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:47:34,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:34,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 13:47:34,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:34,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:34,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-15 13:47:34,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#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); {971#true} is VALID [2022-04-15 13:47:34,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-15 13:47:34,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-15 13:47:34,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#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; {971#true} is VALID [2022-04-15 13:47:34,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 13:47:34,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-15 13:47:34,598 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-15 13:47:34,598 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 13:47:34,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,598 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-15 13:47:34,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:34,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#(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; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:34,600 INFO L272 TraceCheckUtils]: 19: Hoare triple {1027#(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)); {971#true} is VALID [2022-04-15 13:47:34,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,601 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:34,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#(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); {1049#(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-15 13:47:34,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {1049#(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; {1053#(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-15 13:47:34,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {1053#(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; {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 13:47:34,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1061#(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-15 13:47:34,605 INFO L272 TraceCheckUtils]: 28: Hoare triple {1061#(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)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:34,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:34,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-15 13:47:34,607 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-15 13:47:34,607 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-15 13:47:34,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:34,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-15 13:47:34,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-15 13:47:34,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:34,924 INFO L272 TraceCheckUtils]: 28: Hoare triple {1085#(= (+ (* 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)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:34,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {1089#(= (+ (* 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; {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:47:34,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {1093#(= (+ (* (* 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; {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:34,929 INFO L290 TraceCheckUtils]: 25: Hoare triple {1089#(= (+ (* 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; {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:47:34,929 INFO L290 TraceCheckUtils]: 24: Hoare triple {1100#(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); {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:34,930 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1100#(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; {1100#(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-15 13:47:34,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,931 INFO L272 TraceCheckUtils]: 19: Hoare triple {1100#(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)); {971#true} is VALID [2022-04-15 13:47:34,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {1100#(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; {1100#(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-15 13:47:34,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1100#(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-15 13:47:34,932 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-15 13:47:34,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,933 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 13:47:34,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-15 13:47:34,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-15 13:47:34,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 13:47:34,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 13:47:34,934 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 13:47:34,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#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; {971#true} is VALID [2022-04-15 13:47:34,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-15 13:47:34,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-15 13:47:34,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 13:47:34,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#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); {971#true} is VALID [2022-04-15 13:47:34,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-15 13:47:34,935 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-15 13:47:34,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:34,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [667683483] [2022-04-15 13:47:34,935 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:34,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [272886642] [2022-04-15 13:47:34,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [272886642] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:34,936 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:34,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-15 13:47:34,936 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:34,936 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [791843937] [2022-04-15 13:47:34,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [791843937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:34,936 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:34,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 13:47:34,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344843636] [2022-04-15 13:47:34,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:34,937 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-15 13:47:34,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:34,937 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-15 13:47:34,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:34,967 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 13:47:34,967 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:34,967 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 13:47:34,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 13:47:34,968 INFO L87 Difference]: Start difference. First operand 35 states and 38 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-15 13:47:35,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:35,379 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-15 13:47:35,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 13:47:35,379 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-15 13:47:35,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:35,380 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-15 13:47:35,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-15 13:47:35,381 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-15 13:47:35,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-15 13:47:35,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2022-04-15 13:47:35,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:35,424 INFO L225 Difference]: With dead ends: 48 [2022-04-15 13:47:35,424 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 13:47:35,424 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 13:47:35,425 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 11 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:35,426 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 134 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 13:47:35,426 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 13:47:35,471 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2022-04-15 13:47:35,471 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:35,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:47:35,472 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:47:35,472 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:47:35,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:35,474 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-15 13:47:35,474 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 13:47:35,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:35,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:35,475 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-15 13:47:35,476 INFO L87 Difference]: Start difference. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-15 13:47:35,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:35,478 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-15 13:47:35,478 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 13:47:35,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:35,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:35,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:35,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:35,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:47:35,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-15 13:47:35,480 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 32 [2022-04-15 13:47:35,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:35,481 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-15 13:47:35,481 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-15 13:47:35,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-15 13:47:35,535 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-15 13:47:35,535 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-15 13:47:35,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 13:47:35,542 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:35,542 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-15 13:47:35,568 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 13:47:35,763 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:35,764 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:35,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:35,764 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-15 13:47:35,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:35,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [345173947] [2022-04-15 13:47:35,764 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:35,765 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-15 13:47:35,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:35,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [208086923] [2022-04-15 13:47:35,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:35,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:35,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:35,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2005006137] [2022-04-15 13:47:35,778 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:47:35,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:35,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:35,779 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:35,795 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 13:47:35,832 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:47:35,832 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:35,833 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 13:47:35,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:35,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:56,531 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:06,560 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:13,122 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:16,892 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#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); {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#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; {1451#true} is VALID [2022-04-15 13:48:16,892 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 13:48:16,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:16,894 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-15 13:48:16,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:16,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:16,896 INFO L272 TraceCheckUtils]: 19: Hoare triple {1507#(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)); {1451#true} is VALID [2022-04-15 13:48:16,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:16,896 INFO L290 TraceCheckUtils]: 21: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:16,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:16,898 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1507#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:16,899 INFO L290 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:16,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {1531#(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; {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-15 13:48:16,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 13:48:16,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1543#(and (= main_~y~0 1) (<= 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-15 13:48:16,907 INFO L272 TraceCheckUtils]: 28: Hoare triple {1543#(and (= main_~y~0 1) (<= 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)); {1451#true} is VALID [2022-04-15 13:48:16,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:16,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:16,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:16,912 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1543#(and (= main_~y~0 1) (<= 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; {1559#(and (= main_~y~0 1) (<= 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-15 13:48:16,912 INFO L290 TraceCheckUtils]: 33: Hoare triple {1559#(and (= main_~y~0 1) (<= 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); {1563#(and (= main_~y~0 1) (<= 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-15 13:48:16,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {1563#(and (= main_~y~0 1) (<= 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; {1567#(and (= main_~y~0 1) (<= 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-15 13:48:16,924 INFO L272 TraceCheckUtils]: 35: Hoare triple {1567#(and (= main_~y~0 1) (<= 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)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:16,924 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:16,924 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-15 13:48:16,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-15 13:48:16,925 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-15 13:48:16,925 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:48:31,185 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-15 13:48:31,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-15 13:48:31,186 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:31,187 INFO L272 TraceCheckUtils]: 35: Hoare triple {1591#(= (+ (* 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)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:31,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {1595#(= (+ (* 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; {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:31,189 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#(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); {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:48:31,191 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1603#(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; {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:48:31,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:31,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:31,192 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:48:31,192 INFO L272 TraceCheckUtils]: 28: Hoare triple {1603#(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)); {1451#true} is VALID [2022-04-15 13:48:31,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {1620#(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; {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:48:31,194 INFO L290 TraceCheckUtils]: 26: Hoare triple {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1620#(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-15 13:48:31,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~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; {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} is VALID [2022-04-15 13:48:31,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {1451#true} assume !!(~x~0 <= ~X~0); {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} is VALID [2022-04-15 13:48:31,199 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1451#true} {1451#true} #65#return; {1451#true} is VALID [2022-04-15 13:48:31,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:31,199 INFO L290 TraceCheckUtils]: 21: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 13:48:31,199 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L272 TraceCheckUtils]: 19: Hoare triple {1451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {1451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 13:48:31,200 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#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; {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-15 13:48:31,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-15 13:48:31,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 13:48:31,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#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); {1451#true} is VALID [2022-04-15 13:48:31,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-15 13:48:31,202 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-15 13:48:31,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:48:31,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [208086923] [2022-04-15 13:48:31,203 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:48:31,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2005006137] [2022-04-15 13:48:31,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2005006137] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:48:31,203 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:48:31,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 13:48:31,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:48:31,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [345173947] [2022-04-15 13:48:31,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [345173947] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:48:31,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:48:31,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 13:48:31,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1695933388] [2022-04-15 13:48:31,204 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:48:31,204 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-15 13:48:31,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:48:31,205 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-15 13:48:31,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:31,259 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 13:48:31,259 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:48:31,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 13:48:31,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 13:48:31,260 INFO L87 Difference]: Start difference. First operand 42 states and 45 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-15 13:48:35,663 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:48:35,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:35,841 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 13:48:35,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 13:48:35,841 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-15 13:48:35,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:48:35,841 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-15 13:48:35,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-15 13:48:35,843 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-15 13:48:35,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-15 13:48:35,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-15 13:48:35,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:35,892 INFO L225 Difference]: With dead ends: 53 [2022-04-15 13:48:35,892 INFO L226 Difference]: Without dead ends: 45 [2022-04-15 13:48:35,893 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-15 13:48:35,893 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 18 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 7 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:48:35,894 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 121 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 158 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-15 13:48:35,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-15 13:48:35,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-15 13:48:35,954 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:48:35,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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-15 13:48:35,955 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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-15 13:48:35,955 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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-15 13:48:35,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:35,957 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-15 13:48:35,957 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-15 13:48:35,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:48:35,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:48:35,958 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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 45 states. [2022-04-15 13:48:35,958 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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 45 states. [2022-04-15 13:48:35,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:35,960 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-15 13:48:35,960 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-15 13:48:35,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:48:35,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:48:35,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:48:35,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:48:35,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 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-15 13:48:35,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2022-04-15 13:48:35,962 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 39 [2022-04-15 13:48:35,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:48:35,962 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2022-04-15 13:48:35,962 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-15 13:48:35,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 46 transitions. [2022-04-15 13:48:36,023 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-15 13:48:36,024 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2022-04-15 13:48:36,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:48:36,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:48:36,024 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-15 13:48:36,048 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-15 13:48:36,235 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:48:36,235 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:48:36,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:48:36,236 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 1 times [2022-04-15 13:48:36,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:48:36,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [332647951] [2022-04-15 13:48:36,236 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:48:36,236 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 2 times [2022-04-15 13:48:36,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:48:36,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [408308160] [2022-04-15 13:48:36,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:48:36,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:48:36,256 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:48:36,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [934796438] [2022-04-15 13:48:36,256 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:48:36,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:48:36,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:48:36,259 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:48:36,285 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 13:48:36,312 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:48:36,313 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:48:36,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 13:48:36,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:48:36,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:48:57,708 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:49:01,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-15 13:49:01,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#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); {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#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; {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 13:49:01,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:49:01,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:01,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:01,937 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} {1998#true} #61#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,938 INFO L290 TraceCheckUtils]: 11: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,938 INFO L272 TraceCheckUtils]: 12: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 13:49:01,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 13:49:01,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 13:49:01,938 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:01,939 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,939 INFO L290 TraceCheckUtils]: 17: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 13:49:01,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 13:49:01,940 INFO L272 TraceCheckUtils]: 19: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ 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)); {1998#true} is VALID [2022-04-15 13:49:01,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 13:49:01,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 13:49:01,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:01,941 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 13:49:01,942 INFO L290 TraceCheckUtils]: 24: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 13:49:01,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ 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; {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 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-15 13:49:01,945 INFO L272 TraceCheckUtils]: 28: Hoare triple {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 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)); {1998#true} is VALID [2022-04-15 13:49:01,945 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:01,945 INFO L290 TraceCheckUtils]: 30: Hoare triple {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:01,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:01,947 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:01,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:49:01,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:49:01,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-15 13:49:01,954 INFO L272 TraceCheckUtils]: 37: Hoare triple {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:01,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:01,954 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-15 13:49:01,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-15 13:49:01,955 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 13:49:01,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:49:08,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-15 13:49:08,713 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-15 13:49:08,713 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:08,714 INFO L272 TraceCheckUtils]: 37: Hoare triple {2147#(= (+ (* 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)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:08,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {2151#(= (+ (* 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; {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:49:08,717 INFO L290 TraceCheckUtils]: 35: Hoare triple {2155#(= (+ (* (* 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; {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:08,718 INFO L290 TraceCheckUtils]: 34: Hoare triple {2159#(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; {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:49:08,718 INFO L290 TraceCheckUtils]: 33: Hoare triple {2159#(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); {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:49:08,720 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2166#(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; {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:49:08,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:08,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:08,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:49:08,721 INFO L272 TraceCheckUtils]: 28: Hoare triple {2166#(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)); {1998#true} is VALID [2022-04-15 13:49:08,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:49:08,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1998#true} is VALID [2022-04-15 13:49:08,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#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; {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {1998#true} assume !!(~x~0 <= ~X~0); {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} #65#return; {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1998#true} is VALID [2022-04-15 13:49:08,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {1998#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {1998#true} #63#return; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} #61#return; {1998#true} is VALID [2022-04-15 13:49:08,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#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; {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-15 13:49:08,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 13:49:08,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#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); {1998#true} is VALID [2022-04-15 13:49:08,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-15 13:49:08,726 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-15 13:49:08,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:49:08,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [408308160] [2022-04-15 13:49:08,726 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:49:08,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [934796438] [2022-04-15 13:49:08,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [934796438] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:49:08,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:49:08,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-15 13:49:08,727 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:49:08,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [332647951] [2022-04-15 13:49:08,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [332647951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:49:08,727 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:49:08,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 13:49:08,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1018634360] [2022-04-15 13:49:08,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:49:08,728 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 13:49:08,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:49:08,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 13:49:08,771 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-15 13:49:08,771 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 13:49:08,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:08,772 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 13:49:08,772 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:49:08,772 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 13:49:10,968 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:13,256 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:15,622 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:15,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:15,905 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-04-15 13:49:15,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 13:49:15,906 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 13:49:15,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:49:15,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 13:49:15,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-15 13:49:15,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 13:49:15,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-15 13:49:15,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-15 13:49:15,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:15,978 INFO L225 Difference]: With dead ends: 66 [2022-04-15 13:49:15,978 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 13:49:15,979 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=109, Invalid=647, Unknown=0, NotChecked=0, Total=756 [2022-04-15 13:49:15,980 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 318 mSolverCounterSat, 13 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 318 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:49:15,980 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 118 Invalid, 334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 318 Invalid, 3 Unknown, 0 Unchecked, 6.4s Time] [2022-04-15 13:49:15,980 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 13:49:16,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-15 13:49:16,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:49:16,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:16,054 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:16,054 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:16,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:16,056 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 13:49:16,056 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 13:49:16,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:16,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:16,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-15 13:49:16,057 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-15 13:49:16,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:16,059 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 13:49:16,059 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 13:49:16,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:16,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:16,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:49:16,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:49:16,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:16,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-15 13:49:16,062 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-15 13:49:16,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:49:16,062 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-15 13:49:16,062 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 13:49:16,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-15 13:49:16,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:16,142 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 13:49:16,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:49:16,143 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:49:16,143 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-15 13:49:16,169 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 13:49:16,343 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:16,344 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:49:16,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:49:16,344 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-15 13:49:16,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:16,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [630945827] [2022-04-15 13:49:16,345 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:49:16,345 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-15 13:49:16,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:49:16,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [334235296] [2022-04-15 13:49:16,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:49:16,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:49:16,358 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:49:16,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1203843033] [2022-04-15 13:49:16,359 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:49:16,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:16,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:49:16,360 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:49:16,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 13:49:16,400 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:49:16,400 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:49:16,401 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 13:49:16,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:49:16,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:49:17,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#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); {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#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; {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:17,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-15 13:49:17,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-15 13:49:17,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:17,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:49:17,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:17,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:17,230 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} {2620#true} #63#return; {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,231 INFO L290 TraceCheckUtils]: 17: Hoare triple {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2679#(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 2))} is VALID [2022-04-15 13:49:17,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {2679#(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 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2679#(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 2))} is VALID [2022-04-15 13:49:17,231 INFO L272 TraceCheckUtils]: 19: Hoare triple {2679#(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 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:17,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 13:49:17,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 13:49:17,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:17,235 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2679#(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 2))} #65#return; {2679#(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 2))} is VALID [2022-04-15 13:49:17,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {2679#(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 2))} assume !!(~x~0 <= ~X~0); {2679#(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 2))} is VALID [2022-04-15 13:49:17,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {2679#(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 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; {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,239 INFO L272 TraceCheckUtils]: 28: Hoare triple {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= 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)); {2620#true} is VALID [2022-04-15 13:49:17,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:17,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:17,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:17,241 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} #65#return; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~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))) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:17,244 INFO L272 TraceCheckUtils]: 37: Hoare triple {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= 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)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:17,244 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:17,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-15 13:49:17,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-15 13:49:17,245 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 13:49:17,245 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:49:20,530 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-15 13:49:20,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-15 13:49:20,531 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:20,532 INFO L272 TraceCheckUtils]: 37: Hoare triple {2769#(= (+ (* 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)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:20,533 INFO L290 TraceCheckUtils]: 36: Hoare triple {2773#(= (+ (* 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; {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:49:20,534 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#(= (+ (* (* 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; {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:20,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {2781#(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; {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:49:20,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {2785#(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); {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:49:20,537 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2789#(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; {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:49:20,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:20,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:20,538 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:49:20,538 INFO L272 TraceCheckUtils]: 28: Hoare triple {2789#(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)); {2620#true} is VALID [2022-04-15 13:49:20,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:49:20,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {2620#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#true} is VALID [2022-04-15 13:49:20,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {2620#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; {2620#true} is VALID [2022-04-15 13:49:20,539 INFO L290 TraceCheckUtils]: 24: Hoare triple {2620#true} assume !!(~x~0 <= ~X~0); {2620#true} is VALID [2022-04-15 13:49:20,539 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2620#true} #65#return; {2620#true} is VALID [2022-04-15 13:49:20,539 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L272 TraceCheckUtils]: 19: Hoare triple {2620#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {2620#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#true} {2620#true} #63#return; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:20,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 13:49:20,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#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; {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#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); {2620#true} is VALID [2022-04-15 13:49:20,542 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-15 13:49:20,543 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-15 13:49:20,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:49:20,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [334235296] [2022-04-15 13:49:20,543 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:49:20,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1203843033] [2022-04-15 13:49:20,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1203843033] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:49:20,543 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:49:20,543 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-15 13:49:20,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:49:20,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [630945827] [2022-04-15 13:49:20,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [630945827] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:49:20,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:49:20,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 13:49:20,544 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458571580] [2022-04-15 13:49:20,544 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:49:20,545 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:49:20,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:49:20,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:49:20,584 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-15 13:49:20,584 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 13:49:20,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:20,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 13:49:20,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-15 13:49:20,585 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:49:21,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:21,630 INFO L93 Difference]: Finished difference Result 77 states and 86 transitions. [2022-04-15 13:49:21,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 13:49:21,630 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:49:21,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:49:21,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:49:21,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-15 13:49:21,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:49:21,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-15 13:49:21,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 71 transitions. [2022-04-15 13:49:21,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:21,700 INFO L225 Difference]: With dead ends: 77 [2022-04-15 13:49:21,700 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 13:49:21,701 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=127, Invalid=685, Unknown=0, NotChecked=0, Total=812 [2022-04-15 13:49:21,702 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:49:21,702 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 113 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 13:49:21,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 13:49:21,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-15 13:49:21,810 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:49:21,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:49:21,811 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:49:21,811 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:49:21,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:21,813 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-15 13:49:21,813 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-15 13:49:21,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:21,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:21,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-15 13:49:21,814 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-15 13:49:21,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:21,817 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-15 13:49:21,817 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-15 13:49:21,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:21,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:21,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:49:21,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:49:21,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:49:21,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-15 13:49:21,824 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-15 13:49:21,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:49:21,824 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-15 13:49:21,824 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:49:21,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-15 13:49:21,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:21,904 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-15 13:49:21,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 13:49:21,904 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:49:21,904 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-15 13:49:21,920 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 13:49:22,107 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:22,107 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:49:22,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:49:22,108 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-15 13:49:22,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:22,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [199333702] [2022-04-15 13:49:22,108 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:49:22,108 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-15 13:49:22,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:49:22,109 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [118416111] [2022-04-15 13:49:22,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:49:22,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:49:22,124 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:49:22,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1527697183] [2022-04-15 13:49:22,124 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:49:22,125 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:22,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:49:22,126 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:49:22,128 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 13:49:22,174 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:49:22,175 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:49:22,175 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-15 13:49:22,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:49:22,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:49:23,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-15 13:49:23,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#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); {3303#true} is VALID [2022-04-15 13:49:23,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:23,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-15 13:49:23,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#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; {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-15 13:49:23,126 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:23,130 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:49:23,130 INFO L290 TraceCheckUtils]: 14: Hoare triple {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:23,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:23,136 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} {3303#true} #63#return; {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3362#(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 2))} is VALID [2022-04-15 13:49:23,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {3362#(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 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3362#(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 2))} is VALID [2022-04-15 13:49:23,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {3362#(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 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:23,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:23,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:23,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:23,139 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3362#(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 2))} #65#return; {3362#(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 2))} is VALID [2022-04-15 13:49:23,139 INFO L290 TraceCheckUtils]: 24: Hoare triple {3362#(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 2))} assume !!(~x~0 <= ~X~0); {3362#(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 2))} is VALID [2022-04-15 13:49:23,140 INFO L290 TraceCheckUtils]: 25: Hoare triple {3362#(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 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; {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,141 INFO L290 TraceCheckUtils]: 26: Hoare triple {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,142 INFO L272 TraceCheckUtils]: 28: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 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)); {3303#true} is VALID [2022-04-15 13:49:23,142 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:23,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:23,143 INFO L290 TraceCheckUtils]: 31: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:23,144 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #65#return; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,145 INFO L290 TraceCheckUtils]: 33: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~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; {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,146 INFO L290 TraceCheckUtils]: 35: Hoare triple {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,147 INFO L290 TraceCheckUtils]: 36: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,147 INFO L272 TraceCheckUtils]: 37: Hoare triple {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= 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)); {3303#true} is VALID [2022-04-15 13:49:23,148 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:23,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:23,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:23,150 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,150 INFO L290 TraceCheckUtils]: 42: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,152 INFO L290 TraceCheckUtils]: 43: Hoare triple {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:49:23,153 INFO L272 TraceCheckUtils]: 44: Hoare triple {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} 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)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:23,153 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:23,154 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-15 13:49:23,154 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-15 13:49:23,154 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 13 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 13:49:23,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:49:24,013 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-15 13:49:24,014 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-15 13:49:24,014 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:24,015 INFO L272 TraceCheckUtils]: 44: Hoare triple {3474#(= (+ (* 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)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:24,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {3478#(= (+ (* 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; {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:24,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {3482#(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); {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:49:24,017 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3486#(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; {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:49:24,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:24,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:24,018 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:49:24,018 INFO L272 TraceCheckUtils]: 37: Hoare triple {3486#(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)); {3303#true} is VALID [2022-04-15 13:49:24,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {3503#(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; {3486#(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-15 13:49:24,264 INFO L290 TraceCheckUtils]: 35: Hoare triple {3507#(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; {3503#(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-15 13:49:24,389 INFO L290 TraceCheckUtils]: 34: Hoare triple {3511#(or (< main_~v~0 0) (<= (+ 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; {3507#(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-15 13:49:24,392 INFO L290 TraceCheckUtils]: 33: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3511#(or (< main_~v~0 0) (<= (+ 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-15 13:49:24,392 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L272 TraceCheckUtils]: 28: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {3303#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {3303#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; {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3303#true} is VALID [2022-04-15 13:49:24,392 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L272 TraceCheckUtils]: 19: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 17: Hoare triple {3303#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3303#true} {3303#true} #63#return; {3303#true} is VALID [2022-04-15 13:49:24,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 13:49:24,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#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; {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#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); {3303#true} is VALID [2022-04-15 13:49:24,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-15 13:49:24,395 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-15 13:49:24,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:49:24,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [118416111] [2022-04-15 13:49:24,396 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:49:24,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1527697183] [2022-04-15 13:49:24,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1527697183] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:49:24,396 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:49:24,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-15 13:49:24,396 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:49:24,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [199333702] [2022-04-15 13:49:24,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [199333702] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:49:24,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:49:24,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 13:49:24,397 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924008349] [2022-04-15 13:49:24,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:49:24,397 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:49:24,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:49:24,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:24,434 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-15 13:49:24,435 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 13:49:24,435 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:24,435 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 13:49:24,435 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:49:24,435 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:25,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:25,558 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2022-04-15 13:49:25,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 13:49:25,559 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:49:25,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:49:25,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:25,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-15 13:49:25,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:25,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-15 13:49:25,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2022-04-15 13:49:25,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:25,621 INFO L225 Difference]: With dead ends: 70 [2022-04-15 13:49:25,622 INFO L226 Difference]: Without dead ends: 62 [2022-04-15 13:49:25,622 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 68 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 192 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=142, Invalid=788, Unknown=0, NotChecked=0, Total=930 [2022-04-15 13:49:25,623 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 444 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 444 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:49:25,623 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 178 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 444 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 13:49:25,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-15 13:49:25,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 53. [2022-04-15 13:49:25,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:49:25,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:25,702 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:25,703 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:25,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:25,705 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-15 13:49:25,705 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-15 13:49:25,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:25,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:25,705 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-15 13:49:25,706 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-15 13:49:25,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:25,707 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-15 13:49:25,707 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-15 13:49:25,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:25,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:25,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:49:25,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:49:25,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:49:25,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-15 13:49:25,710 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 48 [2022-04-15 13:49:25,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:49:25,710 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-15 13:49:25,710 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:25,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-15 13:49:25,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:25,790 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 13:49:25,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:49:25,790 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:49:25,790 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-15 13:49:25,810 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 13:49:25,990 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:25,991 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:49:25,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:49:25,991 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 3 times [2022-04-15 13:49:25,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:25,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [821488291] [2022-04-15 13:49:25,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:49:25,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 4 times [2022-04-15 13:49:25,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:49:25,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509653350] [2022-04-15 13:49:25,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:49:25,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:49:26,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:49:26,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1505684683] [2022-04-15 13:49:26,018 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:49:26,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:26,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:49:26,021 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:49:26,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 13:49:26,071 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:49:26,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:49:26,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 13:49:26,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:49:26,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:49:36,465 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:49:36,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {3996#true} call ULTIMATE.init(); {3996#true} is VALID [2022-04-15 13:49:36,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {3996#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); {3996#true} is VALID [2022-04-15 13:49:36,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 13:49:36,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3996#true} {3996#true} #69#return; {3996#true} is VALID [2022-04-15 13:49:36,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {3996#true} call #t~ret8 := main(); {3996#true} is VALID [2022-04-15 13:49:36,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {3996#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; {3996#true} is VALID [2022-04-15 13:49:36,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {3996#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-15 13:49:36,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {3996#true} ~cond := #in~cond; {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:49:36,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:36,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:49:36,979 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} {3996#true} #61#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:36,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:36,980 INFO L272 TraceCheckUtils]: 12: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-15 13:49:36,980 INFO L290 TraceCheckUtils]: 13: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 13:49:36,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 13:49:36,983 INFO L290 TraceCheckUtils]: 15: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 13:49:36,983 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3996#true} {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:49:36,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 13:49:36,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 13:49:36,985 INFO L272 TraceCheckUtils]: 19: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~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)); {3996#true} is VALID [2022-04-15 13:49:36,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 13:49:36,985 INFO L290 TraceCheckUtils]: 21: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 13:49:36,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 13:49:36,986 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3996#true} {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 13:49:36,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 13:49:36,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 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; {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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-15 13:49:36,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 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; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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-15 13:49:36,989 INFO L290 TraceCheckUtils]: 27: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 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; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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-15 13:49:36,989 INFO L272 TraceCheckUtils]: 28: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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)); {3996#true} is VALID [2022-04-15 13:49:36,991 INFO L290 TraceCheckUtils]: 29: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 13:49:36,991 INFO L290 TraceCheckUtils]: 30: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 13:49:36,991 INFO L290 TraceCheckUtils]: 31: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 13:49:36,992 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3996#true} {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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-15 13:49:36,992 INFO L290 TraceCheckUtils]: 33: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 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-15 13:49:36,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 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; {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:49:36,994 INFO L290 TraceCheckUtils]: 35: Hoare triple {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 13:49:36,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 13:49:36,995 INFO L272 TraceCheckUtils]: 37: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 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)); {3996#true} is VALID [2022-04-15 13:49:36,995 INFO L290 TraceCheckUtils]: 38: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 13:49:36,995 INFO L290 TraceCheckUtils]: 39: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 13:49:36,995 INFO L290 TraceCheckUtils]: 40: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 13:49:36,996 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3996#true} {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} #65#return; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 13:49:36,996 INFO L290 TraceCheckUtils]: 42: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !!(~x~0 <= ~X~0); {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 13:49:36,997 INFO L290 TraceCheckUtils]: 43: Hoare triple {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:49:36,998 INFO L290 TraceCheckUtils]: 44: Hoare triple {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:49:37,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} is VALID [2022-04-15 13:49:37,003 INFO L272 TraceCheckUtils]: 46: Hoare triple {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~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)); {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:37,003 INFO L290 TraceCheckUtils]: 47: Hoare triple {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4155#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:37,004 INFO L290 TraceCheckUtils]: 48: Hoare triple {4155#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3997#false} is VALID [2022-04-15 13:49:37,004 INFO L290 TraceCheckUtils]: 49: Hoare triple {3997#false} assume !false; {3997#false} is VALID [2022-04-15 13:49:37,004 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 13:49:37,004 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:49:47,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:49:47,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509653350] [2022-04-15 13:49:47,166 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:49:47,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1505684683] [2022-04-15 13:49:47,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1505684683] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 13:49:47,167 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 13:49:47,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-15 13:49:47,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:49:47,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [821488291] [2022-04-15 13:49:47,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [821488291] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:49:47,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:49:47,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 13:49:47,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1923346692] [2022-04-15 13:49:47,168 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:49:47,168 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 13:49:47,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:49:47,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:49:47,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:47,220 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 13:49:47,220 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:47,220 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 13:49:47,220 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:49:47,220 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:49:48,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:48,092 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-04-15 13:49:48,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 13:49:48,092 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 13:49:48,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:49:48,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:49:48,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-15 13:49:48,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:49:48,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-15 13:49:48,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2022-04-15 13:49:48,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:48,180 INFO L225 Difference]: With dead ends: 81 [2022-04-15 13:49:48,180 INFO L226 Difference]: Without dead ends: 68 [2022-04-15 13:49:48,180 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:49:48,181 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 28 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 13:49:48,181 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 116 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 13:49:48,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-15 13:49:48,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-15 13:49:48,341 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:49:48,341 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 13:49:48,342 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 13:49:48,342 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 13:49:48,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:48,344 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-15 13:49:48,344 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-15 13:49:48,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:48,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:48,345 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-15 13:49:48,345 INFO L87 Difference]: Start difference. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-15 13:49:48,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:48,347 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-15 13:49:48,347 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-15 13:49:48,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:48,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:48,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:49:48,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:49:48,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 13:49:48,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 71 transitions. [2022-04-15 13:49:48,349 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 71 transitions. Word has length 50 [2022-04-15 13:49:48,349 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:49:48,349 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 71 transitions. [2022-04-15 13:49:48,350 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:49:48,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 71 transitions. [2022-04-15 13:49:48,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:48,457 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-15 13:49:48,457 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:49:48,457 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:49:48,457 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-15 13:49:48,475 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 13:49:48,657 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 13:49:48,658 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:49:48,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:49:48,658 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-15 13:49:48,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:48,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1839262447] [2022-04-15 13:49:48,659 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:49:48,659 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-15 13:49:48,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:49:48,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [462209615] [2022-04-15 13:49:48,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:49:48,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:49:48,670 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:49:48,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [196370338] [2022-04-15 13:49:48,670 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:49:48,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:48,670 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:49:48,671 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:49:48,706 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 13:49:48,735 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 13:49:48,735 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:49:48,736 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-15 13:49:48,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:49:48,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:49:49,419 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:07,661 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:13,153 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:21,462 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:27,486 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:33,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#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); {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#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; {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:33,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:50:33,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:33,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:33,027 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4658#true} #61#return; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:50:33,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:50:33,027 INFO L272 TraceCheckUtils]: 12: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:33,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:50:33,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:33,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:33,029 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} is VALID [2022-04-15 13:50:33,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} is VALID [2022-04-15 13:50:33,030 INFO L272 TraceCheckUtils]: 19: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:33,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 13:50:33,030 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 13:50:33,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:33,031 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} #65#return; {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} is VALID [2022-04-15 13:50:33,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} assume !!(~x~0 <= ~X~0); {4718#(and (<= main_~X~0 2) (= main_~x~0 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 2))} is VALID [2022-04-15 13:50:33,032 INFO L290 TraceCheckUtils]: 25: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 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 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; {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,033 INFO L290 TraceCheckUtils]: 26: Hoare triple {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,033 INFO L272 TraceCheckUtils]: 28: Hoare triple {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~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)); {4658#true} is VALID [2022-04-15 13:50:33,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:33,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:33,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:33,035 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} #65#return; {4769#(and (<= main_~X~0 2) (<= 1 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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,036 INFO L290 TraceCheckUtils]: 33: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4769#(and (<= main_~X~0 2) (<= 1 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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~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; {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,038 INFO L272 TraceCheckUtils]: 37: Hoare triple {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= 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)); {4658#true} is VALID [2022-04-15 13:50:33,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:33,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:33,039 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:33,040 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* 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)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,041 INFO L290 TraceCheckUtils]: 42: Hoare triple {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* 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)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* 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)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,043 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* 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)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= 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; {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* 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)))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* 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)))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= 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)))) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,049 INFO L290 TraceCheckUtils]: 45: Hoare triple {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= 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)))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} is VALID [2022-04-15 13:50:33,054 INFO L272 TraceCheckUtils]: 46: Hoare triple {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(exists ((v_main_~X~0_BEFORE_CALL_45 Int) (v_main_~Y~0_BEFORE_CALL_43 Int) (v_main_~xy~0_BEFORE_CALL_27 Int)) (and (<= (* v_main_~X~0_BEFORE_CALL_45 3) (* 4 v_main_~Y~0_BEFORE_CALL_43)) (= (mod v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) 0) (<= 3 (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~Y~0_BEFORE_CALL_43 2) (<= (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43) (+ v_main_~X~0_BEFORE_CALL_45 1))))} is VALID [2022-04-15 13:50:33,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(exists ((v_main_~X~0_BEFORE_CALL_45 Int) (v_main_~Y~0_BEFORE_CALL_43 Int) (v_main_~xy~0_BEFORE_CALL_27 Int)) (and (<= (* v_main_~X~0_BEFORE_CALL_45 3) (* 4 v_main_~Y~0_BEFORE_CALL_43)) (= (mod v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) 0) (<= 3 (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~Y~0_BEFORE_CALL_43 2) (<= (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43) (+ v_main_~X~0_BEFORE_CALL_45 1))))} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:33,054 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-15 13:50:33,054 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-15 13:50:33,055 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-15 13:50:33,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:37,799 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-15 13:50:37,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-15 13:50:37,800 INFO L290 TraceCheckUtils]: 47: Hoare triple {4837#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:37,800 INFO L272 TraceCheckUtils]: 46: Hoare triple {4841#(= (+ (* 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)); {4837#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:37,801 INFO L290 TraceCheckUtils]: 45: Hoare triple {4845#(= (+ (* 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; {4841#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:50:37,814 INFO L290 TraceCheckUtils]: 44: Hoare triple {4849#(= (+ (* (* 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; {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:37,816 INFO L290 TraceCheckUtils]: 43: Hoare triple {4845#(= (+ (* 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; {4849#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:50:37,816 INFO L290 TraceCheckUtils]: 42: Hoare triple {4856#(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); {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:37,817 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4860#(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; {4856#(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-15 13:50:37,817 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:37,818 INFO L290 TraceCheckUtils]: 39: Hoare triple {4870#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:37,818 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4870#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:50:37,818 INFO L272 TraceCheckUtils]: 37: Hoare triple {4860#(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)); {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4860#(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-15 13:50:37,819 INFO L290 TraceCheckUtils]: 35: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 34: Hoare triple {4658#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; {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 33: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 31: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L272 TraceCheckUtils]: 28: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:37,819 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 26: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 25: Hoare triple {4658#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; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L272 TraceCheckUtils]: 19: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 17: Hoare triple {4658#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4658#true} {4658#true} #63#return; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:37,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L272 TraceCheckUtils]: 12: Hoare triple {4658#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 11: Hoare triple {4658#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4658#true} {4658#true} #61#return; {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 13:50:37,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#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; {4658#true} is VALID [2022-04-15 13:50:37,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-15 13:50:37,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-15 13:50:37,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 13:50:37,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#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); {4658#true} is VALID [2022-04-15 13:50:37,822 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-15 13:50:37,822 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-15 13:50:37,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:37,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [462209615] [2022-04-15 13:50:37,823 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:37,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [196370338] [2022-04-15 13:50:37,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [196370338] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:37,823 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:37,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 11] total 30 [2022-04-15 13:50:37,823 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:37,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1839262447] [2022-04-15 13:50:37,824 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1839262447] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:37,824 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:37,824 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 13:50:37,824 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [958418854] [2022-04-15 13:50:37,824 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:37,824 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 13:50:37,825 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:37,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:50:37,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:37,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 13:50:37,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:37,903 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 13:50:37,903 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=745, Unknown=0, NotChecked=0, Total=870 [2022-04-15 13:50:37,903 INFO L87 Difference]: Start difference. First operand 66 states and 71 transitions. Second operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:50:40,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:40,337 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 13:50:40,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 13:50:40,337 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 13:50:40,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:40,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:50:40,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-15 13:50:40,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:50:40,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-15 13:50:40,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-15 13:50:40,427 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-15 13:50:40,428 INFO L225 Difference]: With dead ends: 86 [2022-04-15 13:50:40,428 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 13:50:40,429 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 69 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 319 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=188, Invalid=1144, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 13:50:40,429 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 583 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 46 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:40,430 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 159 Invalid, 583 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 517 Invalid, 0 Unknown, 46 Unchecked, 0.7s Time] [2022-04-15 13:50:40,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 13:50:40,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 54. [2022-04-15 13:50:40,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:40,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:40,547 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:40,547 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:40,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:40,549 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-15 13:50:40,549 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-15 13:50:40,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:40,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:40,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-04-15 13:50:40,550 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-04-15 13:50:40,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:40,562 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-15 13:50:40,562 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-15 13:50:40,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:40,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:40,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:40,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:40,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:40,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-15 13:50:40,563 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2022-04-15 13:50:40,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:40,563 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-15 13:50:40,564 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 13:50:40,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 55 transitions. [2022-04-15 13:50:40,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:40,668 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-15 13:50:40,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:50:40,668 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:40,668 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-15 13:50:40,684 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 13:50:40,869 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 13:50:40,869 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:40,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:40,869 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 1 times [2022-04-15 13:50:40,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:40,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [895362081] [2022-04-15 13:50:40,870 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:40,870 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 2 times [2022-04-15 13:50:40,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:40,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1326909687] [2022-04-15 13:50:40,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:40,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:40,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:40,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [763090566] [2022-04-15 13:50:40,885 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:50:40,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:40,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:40,886 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:40,890 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 13:50:40,932 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:50:40,932 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:40,933 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 13:50:40,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:40,950 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:50:41,898 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {5423#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); {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {5423#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; {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {5423#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L290 TraceCheckUtils]: 11: Hoare triple {5423#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L272 TraceCheckUtils]: 12: Hoare triple {5423#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,900 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-15 13:50:41,901 INFO L290 TraceCheckUtils]: 17: Hoare triple {5423#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:41,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {5479#(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; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:41,901 INFO L272 TraceCheckUtils]: 19: Hoare triple {5479#(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)); {5423#true} is VALID [2022-04-15 13:50:41,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,901 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,902 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5423#true} {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:41,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {5479#(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); {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:41,904 INFO L290 TraceCheckUtils]: 25: Hoare triple {5479#(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; {5504#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:41,904 INFO L290 TraceCheckUtils]: 26: Hoare triple {5504#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:41,905 INFO L290 TraceCheckUtils]: 27: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:41,905 INFO L272 TraceCheckUtils]: 28: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:41,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,905 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,906 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5423#true} {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:41,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:41,908 INFO L290 TraceCheckUtils]: 34: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5533#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-15 13:50:41,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {5533#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) 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; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:41,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:41,909 INFO L272 TraceCheckUtils]: 37: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~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)); {5423#true} is VALID [2022-04-15 13:50:41,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,910 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5423#true} {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #65#return; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:41,911 INFO L290 TraceCheckUtils]: 42: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:41,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5562#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-15 13:50:41,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {5562#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* 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; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:50:41,917 INFO L290 TraceCheckUtils]: 45: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* 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; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:50:41,917 INFO L272 TraceCheckUtils]: 46: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* 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)); {5423#true} is VALID [2022-04-15 13:50:41,918 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:41,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:41,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:41,918 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5423#true} {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #65#return; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:50:41,919 INFO L290 TraceCheckUtils]: 51: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !(~x~0 <= ~X~0); {5588#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:50:41,920 INFO L290 TraceCheckUtils]: 52: Hoare triple {5588#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5592#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} is VALID [2022-04-15 13:50:41,921 INFO L272 TraceCheckUtils]: 53: Hoare triple {5592#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 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)); {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:41,922 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:41,922 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-15 13:50:41,922 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-15 13:50:41,924 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-15 13:50:41,924 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:43,141 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-15 13:50:43,142 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-15 13:50:43,142 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:43,143 INFO L272 TraceCheckUtils]: 53: Hoare triple {5616#(= (+ (* 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)); {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:43,144 INFO L290 TraceCheckUtils]: 52: Hoare triple {5620#(= (+ (* 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; {5616#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:43,144 INFO L290 TraceCheckUtils]: 51: Hoare triple {5624#(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); {5620#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:50:43,145 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5423#true} {5624#(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)))))} #65#return; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:50:43,145 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,145 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,145 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,145 INFO L272 TraceCheckUtils]: 46: Hoare triple {5624#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:43,145 INFO L290 TraceCheckUtils]: 45: Hoare triple {5624#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:50:43,149 INFO L290 TraceCheckUtils]: 44: Hoare triple {5646#(or (= (+ (* (* (+ 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; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:50:43,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {5650#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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; {5646#(or (= (+ (* (* (+ 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-15 13:50:43,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {5650#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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-15 13:50:43,152 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5423#true} {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:50:43,152 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,152 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,152 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,152 INFO L272 TraceCheckUtils]: 37: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (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)); {5423#true} is VALID [2022-04-15 13:50:43,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:50:43,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {5676#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~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)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:50:43,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5676#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:50:43,157 INFO L290 TraceCheckUtils]: 33: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:50:43,158 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5423#true} {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:50:43,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,158 INFO L272 TraceCheckUtils]: 28: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 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)); {5423#true} is VALID [2022-04-15 13:50:43,159 INFO L290 TraceCheckUtils]: 27: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:50:43,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {5705#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:50:43,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5705#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:43,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:43,167 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5423#true} {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:43,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,167 INFO L272 TraceCheckUtils]: 19: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:43,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:43,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {5423#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:50:43,169 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-15 13:50:43,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,169 INFO L272 TraceCheckUtils]: 12: Hoare triple {5423#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {5423#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L272 TraceCheckUtils]: 6: Hoare triple {5423#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {5423#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; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {5423#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); {5423#true} is VALID [2022-04-15 13:50:43,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-15 13:50:43,171 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-15 13:50:43,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:43,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1326909687] [2022-04-15 13:50:43,171 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:43,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [763090566] [2022-04-15 13:50:43,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [763090566] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:43,171 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:43,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-15 13:50:43,172 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:43,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [895362081] [2022-04-15 13:50:43,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [895362081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:43,172 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:43,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 13:50:43,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974857053] [2022-04-15 13:50:43,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:43,173 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:43,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:43,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:43,210 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-15 13:50:43,210 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 13:50:43,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:43,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 13:50:43,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=415, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:50:43,211 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:44,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:44,302 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-04-15 13:50:44,302 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 13:50:44,302 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:44,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:44,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:44,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 13:50:44,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:44,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 13:50:44,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-15 13:50:44,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:44,365 INFO L225 Difference]: With dead ends: 69 [2022-04-15 13:50:44,365 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 13:50:44,366 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=109, Invalid=491, Unknown=0, NotChecked=0, Total=600 [2022-04-15 13:50:44,366 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 324 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 324 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:44,367 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 220 Invalid, 324 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 324 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 13:50:44,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 13:50:44,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-15 13:50:44,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:44,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:44,481 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:44,481 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:44,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:44,482 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 13:50:44,482 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 13:50:44,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:44,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:44,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 13:50:44,483 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 13:50:44,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:44,484 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 13:50:44,484 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 13:50:44,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:44,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:44,484 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:44,484 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:44,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:50:44,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 54 transitions. [2022-04-15 13:50:44,486 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 54 transitions. Word has length 57 [2022-04-15 13:50:44,486 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:44,486 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 54 transitions. [2022-04-15 13:50:44,487 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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-15 13:50:44,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 54 transitions. [2022-04-15 13:50:44,595 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-15 13:50:44,595 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 13:50:44,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:50:44,595 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:44,595 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-15 13:50:44,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 13:50:44,796 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 13:50:44,796 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:44,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:44,796 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-15 13:50:44,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:44,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1254072967] [2022-04-15 13:50:44,797 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:44,797 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-15 13:50:44,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:44,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128554593] [2022-04-15 13:50:44,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:44,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:44,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:44,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1008369663] [2022-04-15 13:50:44,809 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:50:44,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:44,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:44,810 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:44,815 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 13:50:44,894 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 13:50:44,894 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:44,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 13:50:44,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:44,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:51:02,728 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:51:12,754 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:51:18,774 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:52:18,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {6145#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); {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {6145#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; {6145#true} is VALID [2022-04-15 13:52:18,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {6145#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:18,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} ~cond := #in~cond; {6171#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:52:18,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {6171#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6175#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:18,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {6175#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6175#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:18,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6175#(not (= |assume_abort_if_not_#in~cond| 0))} {6145#true} #61#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,242 INFO L272 TraceCheckUtils]: 12: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:18,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:18,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:18,242 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:18,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,245 INFO L272 TraceCheckUtils]: 19: Hoare triple {6204#(and (<= main_~X~0 2) (<= 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)); {6145#true} is VALID [2022-04-15 13:52:18,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:18,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:18,245 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:18,246 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6145#true} {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {6182#(and (<= main_~X~0 2) (<= 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; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,248 INFO L272 TraceCheckUtils]: 28: Hoare triple {6182#(and (<= main_~X~0 2) (<= 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)); {6145#true} is VALID [2022-04-15 13:52:18,249 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:18,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:18,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:18,250 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,251 INFO L290 TraceCheckUtils]: 34: Hoare triple {6182#(and (<= main_~X~0 2) (<= 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; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,251 INFO L290 TraceCheckUtils]: 35: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,252 INFO L290 TraceCheckUtils]: 36: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,252 INFO L272 TraceCheckUtils]: 37: Hoare triple {6182#(and (<= main_~X~0 2) (<= 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)); {6145#true} is VALID [2022-04-15 13:52:18,252 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:18,252 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:18,252 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:18,253 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,253 INFO L290 TraceCheckUtils]: 42: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 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; {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:18,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6287#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:18,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {6287#(and (<= main_~X~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; {6291#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:18,256 INFO L272 TraceCheckUtils]: 46: Hoare triple {6291#(and (<= main_~X~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)); {6145#true} is VALID [2022-04-15 13:52:18,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {6145#true} ~cond := #in~cond; {6298#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:18,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {6298#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:18,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:18,259 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} {6291#(and (<= main_~X~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; {6309#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:18,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#(and (<= main_~X~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); {6313#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:18,291 INFO L290 TraceCheckUtils]: 52: Hoare triple {6313#(and (<= main_~X~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; {6317#(and (<= main_~X~0 2) (<= 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-15 13:52:18,312 INFO L272 TraceCheckUtils]: 53: Hoare triple {6317#(and (<= main_~X~0 2) (<= 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)); {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:52:18,312 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:18,313 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-15 13:52:18,313 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-15 13:52:18,313 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-15 13:52:18,313 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:52:19,407 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-15 13:52:19,407 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-15 13:52:19,407 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:19,408 INFO L272 TraceCheckUtils]: 53: Hoare triple {6341#(= (+ (* 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)); {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:52:19,409 INFO L290 TraceCheckUtils]: 52: Hoare triple {6345#(= (+ (* 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; {6341#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:52:19,410 INFO L290 TraceCheckUtils]: 51: Hoare triple {6349#(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); {6345#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:52:19,411 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} {6353#(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; {6349#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:52:19,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:19,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {6363#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:19,412 INFO L290 TraceCheckUtils]: 47: Hoare triple {6145#true} ~cond := #in~cond; {6363#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:52:19,412 INFO L272 TraceCheckUtils]: 46: Hoare triple {6353#(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)); {6145#true} is VALID [2022-04-15 13:52:19,413 INFO L290 TraceCheckUtils]: 45: Hoare triple {6370#(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; {6353#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:52:19,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6370#(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-15 13:52:19,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 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; {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-15 13:52:19,416 INFO L290 TraceCheckUtils]: 42: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-15 13:52:19,417 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L272 TraceCheckUtils]: 37: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {6145#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {6145#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; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 33: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L272 TraceCheckUtils]: 28: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {6145#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {6145#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; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L272 TraceCheckUtils]: 19: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {6145#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6145#true} {6145#true} #63#return; {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:19,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {6145#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {6145#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6145#true} {6145#true} #61#return; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {6145#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {6145#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; {6145#true} is VALID [2022-04-15 13:52:19,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-15 13:52:19,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-15 13:52:19,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 13:52:19,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {6145#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); {6145#true} is VALID [2022-04-15 13:52:19,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-15 13:52:19,421 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-15 13:52:19,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:52:19,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128554593] [2022-04-15 13:52:19,422 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:52:19,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1008369663] [2022-04-15 13:52:19,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1008369663] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:52:19,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:52:19,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-15 13:52:19,422 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:52:19,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1254072967] [2022-04-15 13:52:19,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1254072967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:52:19,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:52:19,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 13:52:19,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452195367] [2022-04-15 13:52:19,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:52:19,423 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-15 13:52:19,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:52:19,424 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-15 13:52:19,512 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-15 13:52:19,513 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 13:52:19,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:52:19,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 13:52:19,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:52:19,514 INFO L87 Difference]: Start difference. First operand 54 states and 54 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-15 13:52:21,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:52:21,739 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 13:52:21,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 13:52:21,740 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-15 13:52:21,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:52:21,740 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-15 13:52:21,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-15 13:52:21,741 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-15 13:52:21,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-15 13:52:21,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 36 transitions. [2022-04-15 13:52:21,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:52:21,833 INFO L225 Difference]: With dead ends: 54 [2022-04-15 13:52:21,834 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 13:52:21,834 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 13:52:21,835 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 26 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 184 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 184 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 13:52:21,835 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 122 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 184 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 13:52:21,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 13:52:21,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 13:52:21,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:52:21,836 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 13:52:21,836 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 13:52:21,836 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 13:52:21,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:52:21,836 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 13:52:21,836 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 13:52:21,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:52:21,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:52:21,837 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 13:52:21,837 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 13:52:21,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:52:21,837 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 13:52:21,837 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 13:52:21,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:52:21,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:52:21,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:52:21,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:52:21,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 13:52:21,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 13:52:21,837 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-15 13:52:21,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:52:21,838 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 13:52:21,838 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-15 13:52:21,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 13:52:21,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:52:21,838 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 13:52:21,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:52:21,840 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 13:52:21,859 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 13:52:22,051 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 13:52:22,053 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 13:52:33,541 WARN L232 SmtUtils]: Spent 7.11s on a formula simplification. DAG size of input: 117 DAG size of output: 100 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-15 13:52:35,649 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-15 13:52:35,649 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-15 13:52:35,649 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-15 13:52:35,649 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-15 13:52:35,649 INFO L878 garLoopResultBuilder]: At program point L11(line 11) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 13:52:35,649 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 13:52:35,649 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 13:52:35,649 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-15 13:52:35,650 INFO L878 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2)) [2022-04-15 13:52:35,650 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-15 13:52:35,650 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 21 53) the Hoare annotation is: true [2022-04-15 13:52:35,650 INFO L878 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-15 13:52:35,650 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= main_~X~0 2)) (.cse3 (<= 0 main_~Y~0)) (.cse1 (= main_~xy~0 0)) (.cse4 (+ main_~X~0 main_~v~0)) (.cse2 (* main_~Y~0 2)) (.cse5 (= main_~y~0 0)) (.cse6 (= main_~yx~0 0))) (or (and .cse0 .cse1 (< main_~v~0 .cse2) .cse3 (= .cse4 (* main_~Y~0 4)) .cse5 .cse6) (let ((.cse9 (+ main_~X~0 1))) (and .cse0 .cse3 (let ((.cse10 (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0)) (.cse12 (* main_~X~0 main_~y~0)) (.cse13 (div .cse4 2)) (.cse11 (= main_~Y~0 0))) (or (let ((.cse8 (+ .cse12 .cse13 (* (- 1) main_~Y~0)))) (let ((.cse7 (div .cse8 main_~Y~0))) (and (= (* main_~y~0 .cse7) main_~xy~0) (= (mod .cse8 main_~Y~0) 0) (<= .cse7 .cse9) .cse10 (not (<= .cse7 main_~X~0)) (not .cse11) (= main_~yx~0 (* main_~Y~0 .cse7))))) (and (or (let ((.cse14 (div main_~xy~0 main_~y~0))) (and (= (mod main_~xy~0 main_~y~0) 0) (not .cse5) (<= .cse14 .cse9) (< main_~X~0 .cse14))) (and .cse1 .cse5)) .cse10 (= (+ .cse12 .cse13) main_~Y~0) .cse6 .cse11))) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 .cse9) (<= main_~Y~0 2))) (and (= main_~x~0 0) .cse1 (= .cse4 .cse2) .cse5 .cse6))) [2022-04-15 13:52:35,650 INFO L885 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: true [2022-04-15 13:52:35,650 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 21 53) the Hoare annotation is: true [2022-04-15 13:52:35,650 INFO L878 garLoopResultBuilder]: At program point L40(lines 40 45) the Hoare annotation is: (let ((.cse16 (* main_~Y~0 main_~x~0)) (.cse17 (* main_~X~0 main_~y~0)) (.cse14 (* main_~Y~0 2))) (let ((.cse4 (* main_~Y~0 4)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse5 (= main_~y~0 0)) (.cse7 (* main_~X~0 3)) (.cse11 (* main_~Y~0 6)) (.cse1 (< main_~v~0 .cse14)) (.cse0 (<= main_~X~0 2)) (.cse6 (<= main_~x~0 main_~X~0)) (.cse15 (= main_~y~0 1)) (.cse8 (= (+ .cse14 (* 2 .cse16)) (+ (* .cse17 2) main_~X~0 main_~v~0))) (.cse2 (<= 0 main_~Y~0)) (.cse13 (<= 0 main_~X~0)) (.cse9 (= .cse17 main_~xy~0)) (.cse10 (= main_~yx~0 .cse16)) (.cse12 (<= main_~Y~0 2))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and .cse6 (<= .cse7 .cse4) .cse8 (<= 2 main_~x~0) .cse9 .cse10 (= (+ main_~v~0 (* 5 main_~X~0)) .cse11) .cse12) (and .cse0 (= main_~x~0 0) .cse2 .cse13 (= .cse3 .cse14) .cse9 .cse5 .cse10 .cse12) (and .cse0 (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) .cse11) (= (+ main_~v~0 .cse7) .cse11) .cse15 (= .cse14 main_~yx~0) (<= main_~X~0 .cse14) .cse8 .cse1 .cse2 .cse13 (= (mod main_~xy~0 main_~X~0) 0)) (and .cse0 .cse6 .cse15 .cse8 (= main_~x~0 1) .cse2 .cse13 (<= .cse14 (+ main_~v~0 (* main_~X~0 2))) .cse9 .cse10 .cse12)))) [2022-04-15 13:52:35,651 INFO L878 garLoopResultBuilder]: At program point L40-2(lines 40 45) the Hoare annotation is: (let ((.cse18 (* main_~Y~0 2)) (.cse10 (* main_~X~0 3))) (let ((.cse0 (+ main_~v~0 .cse10)) (.cse12 (< main_~v~0 .cse18)) (.cse9 (* 2 (* main_~Y~0 main_~x~0))) (.cse8 (* (* main_~X~0 main_~y~0) 2)) (.cse5 (<= main_~Y~0 2)) (.cse1 (* main_~Y~0 4)) (.cse2 (<= main_~X~0 2)) (.cse14 (= main_~y~0 2)) (.cse7 (<= main_~x~0 main_~X~0)) (.cse13 (<= 0 main_~Y~0)) (.cse11 (<= 2 main_~x~0)) (.cse3 (<= 0 main_~X~0)) (.cse16 (+ main_~v~0 (* 5 main_~X~0))) (.cse6 (* main_~Y~0 8)) (.cse4 (<= .cse18 (+ main_~v~0 (* main_~X~0 2))))) (or (and (= .cse0 .cse1) .cse2 (= main_~x~0 0) (= main_~y~0 1) .cse3 .cse4 .cse5) (and (= .cse6 (+ main_~v~0 (* 7 main_~X~0))) .cse7 (= (+ .cse8 .cse1) (+ (* main_~X~0 6) .cse9)) (<= .cse10 .cse1) .cse11 .cse5) (and .cse2 .cse12 .cse13 (= (+ main_~X~0 main_~v~0) .cse1) (= main_~y~0 0)) (and (let ((.cse17 (* main_~Y~0 6)) (.cse15 (= main_~x~0 1))) (or (and .cse14 .cse7 .cse15 .cse4 (= .cse16 .cse17)) (and .cse2 (= .cse0 .cse17) (<= main_~X~0 .cse18) .cse12 .cse15 .cse13 .cse3 (= (+ .cse1 .cse9) (+ .cse8 main_~X~0 main_~v~0))))) .cse5) (and (< .cse1 .cse10) .cse2 .cse14 .cse7 .cse13 .cse11 .cse3 (<= .cse16 .cse6) .cse4)))) [2022-04-15 13:52:35,651 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse11 (* 2 (* main_~Y~0 main_~x~0))) (.cse9 (* (* main_~X~0 main_~y~0) 2)) (.cse14 (* main_~Y~0 2))) (let ((.cse5 (* main_~Y~0 8)) (.cse7 (<= 3 main_~x~0)) (.cse3 (= main_~y~0 2)) (.cse4 (+ main_~v~0 (* 5 main_~X~0))) (.cse1 (* main_~X~0 3)) (.cse10 (* main_~Y~0 6)) (.cse16 (< main_~v~0 .cse14)) (.cse0 (* main_~Y~0 4)) (.cse17 (<= 0 main_~Y~0)) (.cse18 (+ main_~X~0 main_~v~0)) (.cse19 (= main_~y~0 0)) (.cse2 (<= main_~X~0 2)) (.cse15 (= (+ .cse14 .cse11) (+ .cse9 main_~X~0 main_~v~0))) (.cse6 (<= .cse14 (+ main_~v~0 (* main_~X~0 2)))) (.cse8 (<= main_~x~0 (+ main_~X~0 1))) (.cse12 (<= main_~Y~0 2))) (or (and (< .cse0 .cse1) .cse2 .cse3 (<= .cse4 .cse5) .cse6 .cse7 .cse8) (and (= .cse5 (+ main_~v~0 (* 7 main_~X~0))) (= (+ .cse9 .cse10) (+ (* main_~X~0 6) .cse11)) (<= .cse1 .cse0) .cse7 .cse8 .cse12) (and (let ((.cse13 (= main_~x~0 2))) (or (and .cse3 .cse6 .cse13 (<= 1 main_~X~0) (= .cse4 .cse10)) (and .cse2 (= (+ main_~v~0 .cse1) .cse10) (<= main_~X~0 .cse14) .cse15 .cse16 .cse13))) .cse12) (and .cse2 .cse16 .cse17 (= .cse18 .cse0) .cse19) (and .cse2 (= main_~x~0 0) .cse17 (<= 0 main_~X~0) (= .cse18 .cse14) .cse19 .cse12) (and .cse2 (= main_~y~0 1) .cse15 (= main_~x~0 1) .cse6 .cse8 .cse12)))) [2022-04-15 13:52:35,651 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-15 13:52:35,651 INFO L878 garLoopResultBuilder]: At program point L32-3(lines 32 47) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 4)) (.cse1 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse3 (<= 0 main_~X~0)) (.cse5 (<= main_~Y~0 2)) (.cse6 (= main_~xy~0 0)) (.cse7 (+ main_~X~0 main_~v~0)) (.cse4 (* main_~Y~0 2)) (.cse8 (= main_~y~0 0)) (.cse9 (= main_~yx~0 0))) (or (and (< .cse0 (* main_~X~0 3)) .cse1 (= main_~y~0 2) (= main_~x~0 3) .cse2 .cse3 (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= .cse4 (+ main_~v~0 (* main_~X~0 2))) .cse5) (and .cse1 .cse6 (< main_~v~0 .cse4) .cse2 (= .cse7 .cse0) .cse8 .cse9) (let ((.cse11 (* main_~X~0 main_~y~0)) (.cse10 (* main_~Y~0 main_~x~0))) (and .cse1 (= (+ .cse4 (* 2 .cse10)) (+ (* .cse11 2) main_~X~0 main_~v~0)) .cse2 .cse3 (= .cse11 main_~xy~0) (not (<= main_~x~0 main_~X~0)) (= main_~yx~0 .cse10) (<= main_~x~0 (+ main_~X~0 1)) .cse5)) (and (= main_~x~0 0) .cse6 (= .cse7 .cse4) .cse8 .cse9))) [2022-04-15 13:52:35,651 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse23 (+ main_~X~0 1)) (.cse27 (* main_~X~0 2)) (.cse18 (* main_~Y~0 2)) (.cse26 (* 2 .cse28)) (.cse25 (* .cse29 2))) (let ((.cse1 (= (+ .cse18 .cse26) (+ .cse25 main_~X~0 main_~v~0))) (.cse7 (< main_~v~0 .cse18)) (.cse13 (= main_~x~0 2)) (.cse8 (<= 0 main_~Y~0)) (.cse9 (+ main_~X~0 main_~v~0)) (.cse3 (= .cse29 main_~xy~0)) (.cse11 (= main_~y~0 0)) (.cse4 (= main_~yx~0 .cse28)) (.cse0 (<= main_~X~0 2)) (.cse12 (= main_~xy~0 .cse27)) (.cse14 (+ main_~v~0 (* 5 main_~X~0))) (.cse2 (<= .cse18 (+ main_~v~0 .cse27))) (.cse21 (* main_~Y~0 8)) (.cse15 (* main_~Y~0 6)) (.cse17 (* main_~X~0 3)) (.cse10 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse19 (= (mod main_~xy~0 main_~X~0) 0)) (.cse5 (<= main_~x~0 .cse23)) (.cse6 (<= main_~Y~0 2)) (.cse16 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~y~0 1) .cse1 (= main_~x~0 1) .cse2 .cse3 .cse4 .cse5 .cse6) (and .cse0 (= main_~xy~0 0) .cse7 .cse8 (= .cse9 .cse10) .cse11 (= main_~yx~0 0)) (and .cse12 .cse2 .cse3 .cse4 .cse13 (<= 1 main_~X~0) (= .cse14 .cse15) .cse6) (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse16 2)) .cse15) (= (+ main_~v~0 .cse17) .cse15) (= .cse18 main_~yx~0) (<= main_~X~0 .cse18) .cse1 .cse7 .cse13 .cse19) (and .cse0 (= main_~x~0 0) .cse8 (<= 0 main_~X~0) (= .cse9 .cse18) .cse3 .cse11 .cse4 .cse6) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse10 .cse17) .cse0 (= main_~y~0 2) .cse12 (<= 3 .cse20) (<= .cse14 .cse21) .cse2 .cse22 .cse5 (<= .cse20 .cse23))) (let ((.cse24 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse16) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse24 .cse23) (= (+ .cse25 .cse15) (+ (* main_~X~0 6) .cse26)) (<= 3 .cse24) (<= .cse17 .cse10) (= (* .cse24 main_~Y~0) main_~yx~0) .cse22 .cse19 .cse5 .cse6)))))) [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point L35-1(lines 32 47) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse24 (+ main_~X~0 1)) (.cse27 (* 2 .cse28)) (.cse26 (* .cse29 2)) (.cse30 (* main_~X~0 2)) (.cse9 (* main_~Y~0 2))) (let ((.cse1 (< main_~v~0 .cse9)) (.cse14 (= main_~xy~0 .cse30)) (.cse18 (+ main_~v~0 (* 5 main_~X~0))) (.cse10 (= (+ .cse9 .cse27) (+ .cse26 main_~X~0 main_~v~0))) (.cse15 (<= .cse9 (+ main_~v~0 .cse30))) (.cse0 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse11 (<= 0 main_~X~0)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse16 (= .cse29 main_~xy~0)) (.cse5 (= main_~y~0 0)) (.cse17 (= main_~yx~0 .cse28)) (.cse21 (* main_~Y~0 8)) (.cse7 (* main_~Y~0 6)) (.cse8 (* main_~X~0 3)) (.cse4 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse13 (= (mod main_~xy~0 main_~X~0) 0)) (.cse23 (<= main_~x~0 .cse24)) (.cse19 (<= main_~Y~0 2)) (.cse6 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and (let ((.cse12 (= main_~x~0 2))) (or (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse6 2)) .cse7) (= (+ main_~v~0 .cse8) .cse7) (= .cse9 main_~yx~0) (<= main_~X~0 .cse9) .cse10 .cse1 .cse2 .cse11 .cse12 .cse13) (and .cse14 .cse15 .cse16 .cse17 .cse12 (<= 1 main_~X~0) (= .cse18 .cse7)))) .cse19) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse4 .cse8) .cse0 (= main_~y~0 2) .cse14 (<= 3 .cse20) .cse2 .cse11 (<= .cse18 .cse21) .cse15 .cse22 .cse23 (<= .cse20 .cse24))) (and .cse0 (= main_~y~0 1) .cse10 (= main_~x~0 1) .cse2 .cse11 .cse15 .cse16 .cse17 .cse19) (and .cse0 (= main_~x~0 0) .cse2 .cse11 (= .cse3 .cse9) .cse16 .cse5 .cse17 .cse19) (let ((.cse25 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse6) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse25 .cse24) (= (+ .cse26 .cse7) (+ (* main_~X~0 6) .cse27)) (<= 3 .cse25) (<= .cse8 .cse4) (= (* .cse25 main_~Y~0) main_~yx~0) .cse22 .cse13 .cse23 .cse19)))))) [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 13:52:35,652 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point L14(lines 14 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point L14-2(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 13:52:35,652 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 13:52:35,655 INFO L719 BasicCegarLoop]: Path program histogram: [6, 6, 4, 2, 2, 2, 2] [2022-04-15 13:52:35,656 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 13:52:35,658 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 13:52:35,659 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 13:52:35,791 INFO L163 areAnnotationChecker]: CFG has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 13:52:35,814 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 01:52:35 BoogieIcfgContainer [2022-04-15 13:52:35,815 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 13:52:35,816 INFO L158 Benchmark]: Toolchain (without parser) took 405119.13ms. Allocated memory was 177.2MB in the beginning and 233.8MB in the end (delta: 56.6MB). Free memory was 126.5MB in the beginning and 198.7MB in the end (delta: -72.2MB). Peak memory consumption was 113.4MB. Max. memory is 8.0GB. [2022-04-15 13:52:35,816 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 177.2MB. Free memory was 142.7MB in the beginning and 142.7MB in the end (delta: 71.2kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 13:52:35,816 INFO L158 Benchmark]: CACSL2BoogieTranslator took 300.51ms. Allocated memory was 177.2MB in the beginning and 233.8MB in the end (delta: 56.6MB). Free memory was 126.3MB in the beginning and 209.9MB in the end (delta: -83.6MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. [2022-04-15 13:52:35,817 INFO L158 Benchmark]: Boogie Preprocessor took 34.41ms. Allocated memory is still 233.8MB. Free memory was 209.9MB in the beginning and 208.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 13:52:35,817 INFO L158 Benchmark]: RCFGBuilder took 352.28ms. Allocated memory is still 233.8MB. Free memory was 208.4MB in the beginning and 195.9MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 13:52:35,817 INFO L158 Benchmark]: TraceAbstraction took 404426.98ms. Allocated memory is still 233.8MB. Free memory was 195.3MB in the beginning and 198.7MB in the end (delta: -3.4MB). Peak memory consumption was 126.2MB. Max. memory is 8.0GB. [2022-04-15 13:52:35,818 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 177.2MB. Free memory was 142.7MB in the beginning and 142.7MB in the end (delta: 71.2kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 300.51ms. Allocated memory was 177.2MB in the beginning and 233.8MB in the end (delta: 56.6MB). Free memory was 126.3MB in the beginning and 209.9MB in the end (delta: -83.6MB). Peak memory consumption was 9.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.41ms. Allocated memory is still 233.8MB. Free memory was 209.9MB in the beginning and 208.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 352.28ms. Allocated memory is still 233.8MB. Free memory was 208.4MB in the beginning and 195.9MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 404426.98ms. Allocated memory is still 233.8MB. Free memory was 195.3MB in the beginning and 198.7MB in the end (delta: -3.4MB). Peak memory consumption was 126.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 404.2s, OverallIterations: 12, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 22.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 13.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 4 mSolverCounterUnknown, 277 SdHoareTripleChecker+Valid, 11.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 261 mSDsluCounter, 1529 SdHoareTripleChecker+Invalid, 11.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 46 IncrementalHoareTripleChecker+Unchecked, 1253 mSDsCounter, 119 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2927 IncrementalHoareTripleChecker+Invalid, 3096 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 119 mSolverCounterUnsat, 276 mSDtfsCounter, 2927 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 911 GetRequests, 639 SyntacticMatches, 16 SemanticMatches, 256 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 1416 ImplicationChecksByTransitivity, 11.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=66occurred in iteration=9, InterpolantAutomatonStates: 163, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.9s AutomataMinimizationTime, 12 MinimizatonAttempts, 38 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 184 PreInvPairs, 300 NumberOfFragments, 2013 HoareAnnotationTreeSize, 184 FomulaSimplifications, 743 FormulaSimplificationTreeSizeReduction, 0.7s HoareSimplificationTime, 32 FomulaSimplificationsInter, 13172 FormulaSimplificationTreeSizeReductionInter, 12.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant Derived loop invariant: ((((((((((Y * 4 < X * 3 && X <= 2) && y == 2) && v + 5 * X <= Y * 8) && Y * 2 <= v + X * 2) && 3 <= x) && x <= X + 1) || (((((Y * 8 == v + 7 * X && X * y * 2 + Y * 6 == X * 6 + 2 * (Y * x)) && X * 3 <= Y * 4) && 3 <= x) && x <= X + 1) && Y <= 2)) || ((((((y == 2 && Y * 2 <= v + X * 2) && x == 2) && 1 <= X) && v + 5 * X == Y * 6) || (((((X <= 2 && v + X * 3 == Y * 6) && X <= Y * 2) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && v < Y * 2) && x == 2)) && Y <= 2)) || ((((X <= 2 && v < Y * 2) && 0 <= Y) && X + v == Y * 4) && y == 0)) || ((((((X <= 2 && x == 0) && 0 <= Y) && 0 <= X) && X + v == Y * 2) && y == 0) && Y <= 2)) || ((((((X <= 2 && y == 1) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && x == 1) && Y * 2 <= v + X * 2) && x <= X + 1) && Y <= 2) - ProcedureContractResult [Line: 10]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 21]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 13]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-15 13:52:35,904 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...