/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-34549b5 [2022-04-08 11:05:26,857 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 11:05:26,859 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 11:05:26,897 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 11:05:26,897 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 11:05:26,898 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 11:05:26,899 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 11:05:26,899 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 11:05:26,900 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 11:05:26,901 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 11:05:26,901 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 11:05:26,902 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 11:05:26,902 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 11:05:26,903 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 11:05:26,903 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 11:05:26,904 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 11:05:26,904 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 11:05:26,905 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 11:05:26,906 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 11:05:26,907 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 11:05:26,910 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 11:05:26,913 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 11:05:26,915 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 11:05:26,917 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 11:05:26,918 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 11:05:26,921 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 11:05:26,921 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 11:05:26,922 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 11:05:26,922 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 11:05:26,922 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 11:05:26,923 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 11:05:26,923 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 11:05:26,923 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 11:05:26,924 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 11:05:26,924 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 11:05:26,925 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 11:05:26,925 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 11:05:26,925 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 11:05:26,925 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 11:05:26,925 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 11:05:26,926 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 11:05:26,927 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 11:05:26,927 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 11:05:26,936 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 11:05:26,936 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 11:05:26,937 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 11:05:26,937 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 11:05:26,937 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 11:05:26,937 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 11:05:26,937 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 11:05:26,938 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 11:05:26,938 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 11:05:26,938 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 11:05:26,938 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 11:05:26,938 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 11:05:26,938 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 11:05:26,939 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 11:05:26,939 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 11:05:27,127 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 11:05:27,147 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 11:05:27,149 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 11:05:27,150 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 11:05:27,150 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 11:05:27,151 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-08 11:05:27,195 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/924302b09/b7042f04383546d6abbe0c1d281647c7/FLAGbaef5a75f [2022-04-08 11:05:27,516 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 11:05:27,517 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-08 11:05:27,527 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/924302b09/b7042f04383546d6abbe0c1d281647c7/FLAGbaef5a75f [2022-04-08 11:05:27,931 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/924302b09/b7042f04383546d6abbe0c1d281647c7 [2022-04-08 11:05:27,933 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 11:05:27,934 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 11:05:27,936 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 11:05:27,936 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 11:05:27,939 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 11:05:27,940 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 11:05:27" (1/1) ... [2022-04-08 11:05:27,940 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@43b66a9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:27, skipping insertion in model container [2022-04-08 11:05:27,940 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 11:05:27" (1/1) ... [2022-04-08 11:05:27,944 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 11:05:27,955 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 11:05:28,113 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-08 11:05:28,142 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 11:05:28,147 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 11:05:28,163 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-08 11:05:28,174 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 11:05:28,182 INFO L208 MainTranslator]: Completed translation [2022-04-08 11:05:28,182 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28 WrapperNode [2022-04-08 11:05:28,182 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 11:05:28,183 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 11:05:28,183 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 11:05:28,183 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 11:05:28,189 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,190 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,193 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,193 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,197 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,203 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,203 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,204 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 11:05:28,205 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 11:05:28,205 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 11:05:28,205 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 11:05:28,207 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (1/1) ... [2022-04-08 11:05:28,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 11:05:28,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:05:28,226 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 11:05:28,244 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 11:05:28,266 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 11:05:28,266 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 11:05:28,266 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 11:05:28,267 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 11:05:28,267 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 11:05:28,267 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 11:05:28,267 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 11:05:28,267 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 11:05:28,268 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 11:05:28,268 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 11:05:28,268 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 11:05:28,268 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 11:05:28,268 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 11:05:28,269 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 11:05:28,270 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 11:05:28,314 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 11:05:28,315 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 11:05:28,505 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 11:05:28,510 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 11:05:28,510 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 11:05:28,511 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 11:05:28 BoogieIcfgContainer [2022-04-08 11:05:28,511 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 11:05:28,512 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 11:05:28,512 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 11:05:28,534 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 11:05:28,534 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 11:05:27" (1/3) ... [2022-04-08 11:05:28,534 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27ce00fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 11:05:28, skipping insertion in model container [2022-04-08 11:05:28,535 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:05:28" (2/3) ... [2022-04-08 11:05:28,535 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27ce00fa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 11:05:28, skipping insertion in model container [2022-04-08 11:05:28,535 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 11:05:28" (3/3) ... [2022-04-08 11:05:28,536 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-08 11:05:28,539 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 11:05:28,539 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 11:05:28,600 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 11:05:28,604 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 11:05:28,604 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 11:05:28,622 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 11:05:28,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 11:05:28,627 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:05:28,627 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:05:28,627 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:05:28,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:05:28,638 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-08 11:05:28,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:28,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [795823258] [2022-04-08 11:05:28,657 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:05:28,657 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-08 11:05:28,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:05:28,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [142875933] [2022-04-08 11:05:28,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:05:28,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:05:28,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:28,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 11:05:28,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:28,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 11:05:28,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 11:05:28,828 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 11:05:28,829 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 11:05:28,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:28,840 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 11:05:28,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 11:05:28,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 11:05:28,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 11:05:28,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 11:05:28,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:28,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 11:05:28,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 11:05:28,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 11:05:28,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 11:05:28,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 11:05:28,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 11:05:28,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 11:05:28,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 11:05:28,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-08 11:05:28,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-08 11:05:28,858 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-08 11:05:28,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 11:05:28,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 11:05:28,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 11:05:28,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 11:05:28,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-08 11:05:28,860 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-08 11:05:28,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 11:05:28,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 11:05:28,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 11:05:28,861 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 11:05:28,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-08 11:05:28,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-08 11:05:28,861 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-08 11:05:28,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-08 11:05:28,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-08 11:05:28,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-08 11:05:28,862 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 11:05:28,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:05:28,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [142875933] [2022-04-08 11:05:28,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [142875933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:05:28,864 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:05:28,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 11:05:28,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:05:28,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [795823258] [2022-04-08 11:05:28,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [795823258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:05:28,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:05:28,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 11:05:28,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [10077403] [2022-04-08 11:05:28,868 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:05:28,872 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 11:05:28,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:05:28,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 11:05:28,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:28,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 11:05:28,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:28,919 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 11:05:28,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 11:05:28,922 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 11:05:29,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,040 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-08 11:05:29,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 11:05:29,040 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 11:05:29,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:05:29,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 11:05:29,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 11:05:29,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 11:05:29,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 11:05:29,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-08 11:05:29,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:29,139 INFO L225 Difference]: With dead ends: 57 [2022-04-08 11:05:29,140 INFO L226 Difference]: Without dead ends: 27 [2022-04-08 11:05:29,141 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 11:05:29,144 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 11:05:29,145 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 11:05:29,155 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-08 11:05:29,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-08 11:05:29,167 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:05:29,168 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 11:05:29,169 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 11:05:29,170 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 11:05:29,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,175 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 11:05:29,179 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 11:05:29,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:05:29,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:05:29,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 11:05:29,181 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 11:05:29,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,184 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 11:05:29,184 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 11:05:29,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:05:29,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:05:29,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:05:29,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:05:29,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 11:05:29,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-08 11:05:29,188 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-08 11:05:29,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:05:29,188 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-08 11:05:29,189 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 11:05:29,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-08 11:05:29,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:29,215 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 11:05:29,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 11:05:29,216 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:05:29,216 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:05:29,216 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 11:05:29,217 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:05:29,217 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:05:29,217 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-08 11:05:29,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:29,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1466623774] [2022-04-08 11:05:29,218 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:05:29,218 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-08 11:05:29,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:05:29,218 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984199959] [2022-04-08 11:05:29,218 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:05:29,218 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:05:29,232 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:05:29,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [139621558] [2022-04-08 11:05:29,232 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:05:29,232 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:05:29,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:05:29,234 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:05:29,278 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 11:05:29,288 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 11:05:29,288 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:05:29,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 11:05:29,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:29,304 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:05:29,444 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-08 11:05:29,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-08 11:05:29,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 11:05:29,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-08 11:05:29,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-08 11:05:29,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-08 11:05:29,445 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-08 11:05:29,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 11:05:29,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 11:05:29,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 11:05:29,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-08 11:05:29,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-08 11:05:29,446 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-08 11:05:29,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 11:05:29,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 11:05:29,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 11:05:29,447 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-08 11:05:29,447 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 11:05:29,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-08 11:05:29,449 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:05:29,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:05:29,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-08 11:05:29,450 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-08 11:05:29,450 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 11:05:29,450 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:05:29,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:05:29,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [984199959] [2022-04-08 11:05:29,451 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:05:29,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [139621558] [2022-04-08 11:05:29,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [139621558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:05:29,451 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:05:29,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 11:05:29,452 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:05:29,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1466623774] [2022-04-08 11:05:29,452 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1466623774] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:05:29,452 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:05:29,452 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 11:05:29,452 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201999179] [2022-04-08 11:05:29,452 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:05:29,453 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 11:05:29,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:05:29,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 11:05:29,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:29,468 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 11:05:29,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:29,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 11:05:29,469 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 11:05:29,469 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 11:05:29,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,632 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 11:05:29,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 11:05:29,632 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 11:05:29,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:05:29,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 11:05:29,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 11:05:29,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 11:05:29,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 11:05:29,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-08 11:05:29,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:29,669 INFO L225 Difference]: With dead ends: 39 [2022-04-08 11:05:29,669 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 11:05:29,670 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 11:05:29,670 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 11:05:29,671 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.0s Time] [2022-04-08 11:05:29,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 11:05:29,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-08 11:05:29,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:05:29,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 11:05:29,679 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 11:05:29,679 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 11:05:29,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,681 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 11:05:29,681 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 11:05:29,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:05:29,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:05:29,682 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 11:05:29,682 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 11:05:29,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:05:29,683 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 11:05:29,683 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 11:05:29,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:05:29,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:05:29,684 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:05:29,684 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:05:29,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 11:05:29,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-08 11:05:29,685 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-08 11:05:29,685 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:05:29,685 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-08 11:05:29,686 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 11:05:29,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-08 11:05:29,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:29,716 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-08 11:05:29,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 11:05:29,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:05:29,717 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:05:29,735 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-08 11:05:29,929 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:05:29,930 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:05:29,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:05:29,930 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-08 11:05:29,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:29,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2118416216] [2022-04-08 11:05:29,931 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:05:29,931 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-08 11:05:29,931 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:05:29,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342952934] [2022-04-08 11:05:29,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:05:29,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:05:29,943 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:05:29,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1762078858] [2022-04-08 11:05:29,943 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:05:29,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:05:29,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:05:29,944 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:05:29,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 11:05:29,992 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:05:29,993 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:05:29,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 11:05:30,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:30,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:05:40,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-08 11:05:40,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-08 11:05:40,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 11:05:40,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-08 11:05:40,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-08 11:05:40,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-08 11:05:40,606 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-08 11:05:40,606 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-08 11:05:40,607 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-08 11:05:40,607 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-08 11:05:40,608 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-08 11:05:40,608 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-08 11:05:40,608 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-08 11:05:40,609 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-08 11:05:40,609 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-08 11:05:40,609 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-08 11:05:40,610 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-08 11:05:40,610 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-08 11:05:40,611 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-08 11:05:40,611 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-08 11:05:40,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 11:05:40,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 11:05:40,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 11:05:40,612 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-08 11:05:40,612 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-08 11:05:40,613 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-08 11:05:40,614 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-08 11:05:40,615 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-08 11:05:40,616 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-08 11:05:40,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:05:40,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-08 11:05:40,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-08 11:05:40,617 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 11:05:40,617 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:07:17,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:07:17,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342952934] [2022-04-08 11:07:17,549 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:07:17,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1762078858] [2022-04-08 11:07:17,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1762078858] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 11:07:17,550 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 11:07:17,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 11:07:17,550 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:07:17,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2118416216] [2022-04-08 11:07:17,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2118416216] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:07:17,550 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:07:17,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 11:07:17,550 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [739813911] [2022-04-08 11:07:17,550 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:07:17,551 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-08 11:07:17,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:07:17,551 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-08 11:07:17,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:17,579 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 11:07:17,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:07:17,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 11:07:17,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-08 11:07:17,580 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-08 11:07:17,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:17,984 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-08 11:07:17,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 11:07:17,984 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-08 11:07:17,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:07:17,985 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-08 11:07:17,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-08 11:07:17,986 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-08 11:07:17,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-08 11:07:17,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-08 11:07:18,073 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-08 11:07:18,074 INFO L225 Difference]: With dead ends: 61 [2022-04-08 11:07:18,074 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 11:07:18,075 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-08 11:07:18,075 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 27 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:07:18,076 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.1s Time] [2022-04-08 11:07:18,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 11:07:18,107 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 11:07:18,107 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:07:18,108 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-08 11:07:18,108 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-08 11:07:18,108 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-08 11:07:18,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:18,116 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-08 11:07:18,116 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-08 11:07:18,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:07:18,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:07:18,117 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-08 11:07:18,117 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-08 11:07:18,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:18,118 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-08 11:07:18,118 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-08 11:07:18,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:07:18,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:07:18,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:07:18,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:07:18,119 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-08 11:07:18,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-08 11:07:18,120 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-08 11:07:18,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:07:18,120 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-08 11:07:18,120 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-08 11:07:18,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 38 transitions. [2022-04-08 11:07:18,166 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:18,167 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-08 11:07:18,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 11:07:18,168 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:07:18,169 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:07:18,185 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-08 11:07:18,383 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 11:07:18,384 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:07:18,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:07:18,384 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-08 11:07:18,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:07:18,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [462601529] [2022-04-08 11:07:18,384 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:07:18,385 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-08 11:07:18,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:07:18,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210812528] [2022-04-08 11:07:18,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:07:18,385 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:07:18,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:07:18,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1373759584] [2022-04-08 11:07:18,397 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:07:18,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:07:18,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:07:18,398 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:07:18,399 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 11:07:18,434 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:07:18,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:07:18,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 11:07:18,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:07:18,450 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:07:18,683 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-08 11:07:18,683 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-08 11:07:18,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-08 11:07:18,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-08 11:07:18,684 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-08 11:07:18,684 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-08 11:07:18,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-08 11:07:18,685 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-08 11:07:18,685 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-08 11:07:18,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,686 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-08 11:07:18,686 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-08 11:07:18,687 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-08 11:07:18,687 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-08 11:07:18,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,688 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-08 11:07:18,689 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-08 11:07:18,690 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-08 11:07:18,690 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-08 11:07:18,691 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-08 11:07:18,692 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-08 11:07:18,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:07:18,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-08 11:07:18,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-08 11:07:18,693 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 11:07:18,693 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:07:18,913 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-08 11:07:18,913 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-08 11:07:18,914 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:07:18,914 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-08 11:07:18,915 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-08 11:07:18,916 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-08 11:07:18,918 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-08 11:07:18,918 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-08 11:07:18,919 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-08 11:07:18,919 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,919 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-08 11:07:18,920 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-08 11:07:18,920 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-08 11:07:18,920 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-08 11:07:18,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,921 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-08 11:07:18,921 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-08 11:07:18,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-08 11:07:18,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-08 11:07:18,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-08 11:07:18,921 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-08 11:07:18,921 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-08 11:07:18,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-08 11:07:18,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-08 11:07:18,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-08 11:07:18,922 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-08 11:07:18,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-08 11:07:18,922 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 11:07:18,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:07:18,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210812528] [2022-04-08 11:07:18,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:07:18,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1373759584] [2022-04-08 11:07:18,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1373759584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:07:18,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:07:18,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-08 11:07:18,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:07:18,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [462601529] [2022-04-08 11:07:18,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [462601529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:07:18,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:07:18,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 11:07:18,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1800950401] [2022-04-08 11:07:18,923 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:07:18,924 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 11:07:18,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:07:18,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:07:18,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:18,945 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 11:07:18,945 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:07:18,945 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 11:07:18,945 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 11:07:18,945 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-08 11:07:19,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:19,255 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-08 11:07:19,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 11:07:19,256 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 11:07:19,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:07:19,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:07:19,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-08 11:07:19,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:07:19,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-08 11:07:19,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2022-04-08 11:07:19,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:19,295 INFO L225 Difference]: With dead ends: 48 [2022-04-08 11:07:19,295 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 11:07:19,295 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 11:07:19,296 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-08 11:07:19,296 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-08 11:07:19,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 11:07:19,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2022-04-08 11:07:19,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:07:19,346 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-08 11:07:19,346 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-08 11:07:19,347 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-08 11:07:19,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:19,348 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-08 11:07:19,348 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-08 11:07:19,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:07:19,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:07:19,349 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-08 11:07:19,349 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-08 11:07:19,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:07:19,351 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-08 11:07:19,351 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-08 11:07:19,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:07:19,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:07:19,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:07:19,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:07:19,352 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-08 11:07:19,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-08 11:07:19,353 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 32 [2022-04-08 11:07:19,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:07:19,353 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-08 11:07:19,353 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:07:19,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-08 11:07:19,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:19,407 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-08 11:07:19,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 11:07:19,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:07:19,408 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:07:19,424 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 11:07:19,627 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:07:19,627 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:07:19,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:07:19,627 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-08 11:07:19,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:07:19,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1774169535] [2022-04-08 11:07:19,628 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:07:19,628 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-08 11:07:19,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:07:19,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608148364] [2022-04-08 11:07:19,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:07:19,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:07:19,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:07:19,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1001524871] [2022-04-08 11:07:19,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:07:19,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:07:19,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:07:19,640 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:07:19,641 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 11:07:19,676 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:07:19,676 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:07:19,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 11:07:19,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:07:19,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:07:36,017 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:07:46,053 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:07:52,071 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:07:53,308 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-08 11:07:53,308 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-08 11:07:53,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:07:53,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-08 11:07:53,309 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-08 11:07:53,309 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-08 11:07:53,309 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-08 11:07:53,309 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-08 11:07:53,309 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-08 11:07:53,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:07:53,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-08 11:07:53,309 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-08 11:07:53,309 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-08 11:07:53,309 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-08 11:07:53,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-08 11:07:53,310 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:07:53,310 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-08 11:07:53,310 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-08 11:07:53,311 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-08 11:07:53,311 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-08 11:07:53,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:07:53,311 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-08 11:07:53,312 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-08 11:07:53,312 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-08 11:07:53,313 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-08 11:07:53,314 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-08 11:07:53,314 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-08 11:07:53,315 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-08 11:07:53,315 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-08 11:07:53,315 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:07:53,315 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-08 11:07:53,316 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-08 11:07:53,317 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-08 11:07:53,317 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-08 11:07:53,323 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-08 11:07:53,328 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-08 11:07:53,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:07:53,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-08 11:07:53,329 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-08 11:07:53,329 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 11:07:53,329 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:08:06,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-08 11:08:06,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-08 11:08:06,302 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:06,303 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-08 11:08:06,303 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-08 11:08:06,304 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-08 11:08:06,308 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-08 11:08:06,309 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-08 11:08:06,309 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-08 11:08:06,309 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-08 11:08:06,309 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-08 11:08:06,310 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-08 11:08:06,311 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-08 11:08:06,313 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-08 11:08:06,314 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-08 11:08:06,314 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1451#true} {1451#true} #65#return; {1451#true} is VALID [2022-04-08 11:08:06,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:08:06,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-08 11:08:06,315 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-08 11:08:06,315 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-08 11:08:06,315 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-08 11:08:06,315 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-08 11:08:06,315 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-08 11:08:06,315 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-08 11:08:06,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:08:06,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-08 11:08:06,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-08 11:08:06,316 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-08 11:08:06,316 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-08 11:08:06,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-08 11:08:06,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-08 11:08:06,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-08 11:08:06,316 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-08 11:08:06,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-08 11:08:06,316 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 11:08:06,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:08:06,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608148364] [2022-04-08 11:08:06,317 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:08:06,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1001524871] [2022-04-08 11:08:06,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1001524871] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:08:06,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:08:06,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-08 11:08:06,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:08:06,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1774169535] [2022-04-08 11:08:06,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1774169535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:08:06,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:08:06,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 11:08:06,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [25298905] [2022-04-08 11:08:06,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:08:06,320 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 11:08:06,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:08:06,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:08:06,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:06,352 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 11:08:06,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:06,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 11:08:06,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-08 11:08:06,353 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-08 11:08:09,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:09,247 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-08 11:08:09,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 11:08:09,247 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 11:08:09,247 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:08:09,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:08:09,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 11:08:09,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:08:09,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 11:08:09,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-08 11:08:09,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:09,302 INFO L225 Difference]: With dead ends: 53 [2022-04-08 11:08:09,302 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 11:08:09,303 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-08 11:08:09,310 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 18 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.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, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 11:08:09,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 121 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 11:08:09,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 11:08:09,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-08 11:08:09,381 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:08:09,381 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-08 11:08:09,382 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-08 11:08:09,382 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-08 11:08:09,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:09,384 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-08 11:08:09,384 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-08 11:08:09,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:09,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:09,385 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-08 11:08:09,385 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-08 11:08:09,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:09,386 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-08 11:08:09,386 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-08 11:08:09,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:09,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:09,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:08:09,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:08:09,387 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-08 11:08:09,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2022-04-08 11:08:09,389 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 39 [2022-04-08 11:08:09,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:08:09,389 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2022-04-08 11:08:09,389 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:08:09,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 46 transitions. [2022-04-08 11:08:09,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:09,450 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2022-04-08 11:08:09,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 11:08:09,450 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:08:09,450 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:08:09,474 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 11:08:09,670 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:09,670 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:08:09,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:08:09,671 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 1 times [2022-04-08 11:08:09,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:09,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1580283699] [2022-04-08 11:08:09,671 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:08:09,671 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 2 times [2022-04-08 11:08:09,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:08:09,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1134446660] [2022-04-08 11:08:09,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:08:09,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:08:09,681 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:08:09,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1040583403] [2022-04-08 11:08:09,682 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:08:09,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:09,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:08:09,683 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:08:09,683 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 11:08:09,722 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:08:09,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:08:09,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 11:08:09,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:08:09,733 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:08:26,521 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:08:31,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-08 11:08:31,378 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-08 11:08:31,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:31,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-08 11:08:31,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-08 11:08:31,379 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-08 11:08:31,379 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-08 11:08:31,379 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-08 11:08:31,379 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-08 11:08:31,380 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-08 11:08:31,380 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-08 11:08:31,381 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-08 11:08:31,381 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-08 11:08:31,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-08 11:08:31,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-08 11:08:31,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:31,381 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-08 11:08:31,382 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-08 11:08:31,382 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-08 11:08:31,382 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-08 11:08:31,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-08 11:08:31,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-08 11:08:31,383 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:31,383 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-08 11:08:31,384 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-08 11:08:31,384 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-08 11:08:31,385 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-08 11:08:31,385 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-08 11:08:31,385 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-08 11:08:31,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:31,386 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-08 11:08:31,386 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-08 11:08:31,387 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-08 11:08:31,388 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-08 11:08:31,389 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-08 11:08:31,389 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-08 11:08:31,391 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-08 11:08:31,392 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-08 11:08:31,392 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:31,393 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-08 11:08:31,393 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-08 11:08:31,393 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-08 11:08:31,393 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:08:35,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-08 11:08:35,920 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-08 11:08:35,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:35,921 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-08 11:08:35,922 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-08 11:08:35,923 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-08 11:08:35,924 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-08 11:08:35,924 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-08 11:08:35,925 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-08 11:08:35,926 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-08 11:08:35,926 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-08 11:08:35,926 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-08 11:08:35,926 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-08 11:08:35,927 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-08 11:08:35,927 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-08 11:08:35,927 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-08 11:08:35,927 INFO L290 TraceCheckUtils]: 24: Hoare triple {1998#true} assume !!(~x~0 <= ~X~0); {1998#true} is VALID [2022-04-08 11:08:35,927 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} #65#return; {1998#true} is VALID [2022-04-08 11:08:35,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:35,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-08 11:08:35,928 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-08 11:08:35,928 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-08 11:08:35,928 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-08 11:08:35,928 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {1998#true} #63#return; {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-08 11:08:35,928 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-08 11:08:35,928 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-08 11:08:35,928 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} #61#return; {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-08 11:08:35,928 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-08 11:08:35,929 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-08 11:08:35,929 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-08 11:08:35,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-08 11:08:35,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-08 11:08:35,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-08 11:08:35,929 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-08 11:08:35,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-08 11:08:35,929 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 11:08:35,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:08:35,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1134446660] [2022-04-08 11:08:35,929 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:08:35,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1040583403] [2022-04-08 11:08:35,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1040583403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:08:35,930 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:08:35,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-08 11:08:35,930 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:08:35,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1580283699] [2022-04-08 11:08:35,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1580283699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:08:35,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:08:35,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 11:08:35,930 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [620444835] [2022-04-08 11:08:35,930 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:08:35,931 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-08 11:08:35,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:08:35,931 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-08 11:08:35,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:35,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 11:08:35,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:35,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 11:08:35,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=432, Unknown=1, NotChecked=0, Total=506 [2022-04-08 11:08:35,966 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-08 11:08:38,211 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:08:39,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:39,302 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-04-08 11:08:39,302 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 11:08:39,303 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-08 11:08:39,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:08:39,303 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-08 11:08:39,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-08 11:08:39,306 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-08 11:08:39,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-08 11:08:39,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-08 11:08:39,417 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-08 11:08:39,419 INFO L225 Difference]: With dead ends: 66 [2022-04-08 11:08:39,419 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 11:08:39,420 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=109, Invalid=646, Unknown=1, NotChecked=0, Total=756 [2022-04-08 11:08:39,421 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 319 mSolverCounterSat, 13 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 319 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-08 11:08:39,422 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 118 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 319 Invalid, 1 Unknown, 0 Unchecked, 2.5s Time] [2022-04-08 11:08:39,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 11:08:39,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-08 11:08:39,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:08:39,502 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-08 11:08:39,502 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-08 11:08:39,503 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-08 11:08:39,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:39,505 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-08 11:08:39,505 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-08 11:08:39,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:39,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:39,506 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-08 11:08:39,506 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-08 11:08:39,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:39,508 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-08 11:08:39,508 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-08 11:08:39,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:39,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:39,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:08:39,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:08:39,509 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-08 11:08:39,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-08 11:08:39,510 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-08 11:08:39,510 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:08:39,510 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-08 11:08:39,510 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-08 11:08:39,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-08 11:08:39,591 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-08 11:08:39,592 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-08 11:08:39,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 11:08:39,593 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:08:39,593 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:08:39,610 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-08 11:08:39,807 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:39,808 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:08:39,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:08:39,809 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-08 11:08:39,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:39,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [723284580] [2022-04-08 11:08:39,809 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:08:39,809 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-08 11:08:39,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:08:39,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146552645] [2022-04-08 11:08:39,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:08:39,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:08:39,858 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:08:39,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [921444578] [2022-04-08 11:08:39,859 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:08:39,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:39,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:08:39,862 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:08:39,863 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 11:08:39,896 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:08:39,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:08:39,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 11:08:39,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:08:39,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:08:40,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-08 11:08:40,587 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-08 11:08:40,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:40,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-08 11:08:40,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-08 11:08:40,587 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-08 11:08:40,587 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-08 11:08:40,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-08 11:08:40,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-08 11:08:40,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:40,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-08 11:08:40,587 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-08 11:08:40,588 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-08 11:08:40,588 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-08 11:08:40,588 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-08 11:08:40,589 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-08 11:08:40,589 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-08 11:08:40,589 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-08 11:08:40,590 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-08 11:08:40,590 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-08 11:08:40,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-08 11:08:40,590 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-08 11:08:40,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:40,591 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-08 11:08:40,591 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-08 11:08:40,592 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-08 11:08:40,592 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-08 11:08:40,593 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-08 11:08:40,593 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-08 11:08:40,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:40,597 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-08 11:08:40,598 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-08 11:08:40,598 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-08 11:08:40,599 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-08 11:08:40,599 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-08 11:08:40,600 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-08 11:08:40,600 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-08 11:08:40,601 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-08 11:08:40,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:40,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-08 11:08:40,602 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-08 11:08:40,602 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-08 11:08:40,602 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:08:45,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-08 11:08:45,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-08 11:08:45,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:45,203 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-08 11:08:45,204 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-08 11:08:45,205 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-08 11:08:45,207 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-08 11:08:45,207 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-08 11:08:45,208 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-08 11:08:45,209 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-08 11:08:45,209 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-08 11:08:45,209 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-08 11:08:45,209 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-08 11:08:45,210 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-08 11:08:45,210 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-08 11:08:45,210 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-08 11:08:45,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {2620#true} assume !!(~x~0 <= ~X~0); {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2620#true} #65#return; {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-08 11:08:45,211 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-08 11:08:45,211 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-08 11:08:45,211 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-08 11:08:45,211 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#true} {2620#true} #63#return; {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-08 11:08:45,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-08 11:08:45,211 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-08 11:08:45,212 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-08 11:08:45,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-08 11:08:45,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:45,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-08 11:08:45,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-08 11:08:45,212 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-08 11:08:45,212 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-08 11:08:45,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-08 11:08:45,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-08 11:08:45,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-08 11:08:45,212 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-08 11:08:45,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-08 11:08:45,213 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 11:08:45,213 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:08:45,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [146552645] [2022-04-08 11:08:45,213 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:08:45,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [921444578] [2022-04-08 11:08:45,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [921444578] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:08:45,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:08:45,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-08 11:08:45,213 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:08:45,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [723284580] [2022-04-08 11:08:45,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [723284580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:08:45,213 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:08:45,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 11:08:45,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1194921574] [2022-04-08 11:08:45,214 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:08:45,214 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-08 11:08:45,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:08:45,214 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-08 11:08:45,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:45,253 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 11:08:45,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:45,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 11:08:45,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-08 11:08:45,254 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-08 11:08:46,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:46,156 INFO L93 Difference]: Finished difference Result 77 states and 86 transitions. [2022-04-08 11:08:46,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 11:08:46,156 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-08 11:08:46,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:08:46,156 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-08 11:08:46,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-08 11:08:46,158 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-08 11:08:46,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-08 11:08:46,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 71 transitions. [2022-04-08 11:08:46,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:46,216 INFO L225 Difference]: With dead ends: 77 [2022-04-08 11:08:46,216 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 11:08:46,216 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=127, Invalid=685, Unknown=0, NotChecked=0, Total=812 [2022-04-08 11:08:46,217 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 11:08:46,217 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.3s Time] [2022-04-08 11:08:46,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 11:08:46,289 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-08 11:08:46,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:08:46,290 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-08 11:08:46,291 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-08 11:08:46,291 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-08 11:08:46,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:46,295 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-08 11:08:46,295 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-08 11:08:46,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:46,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:46,295 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-08 11:08:46,296 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-08 11:08:46,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:46,297 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-08 11:08:46,297 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-08 11:08:46,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:46,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:46,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:08:46,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:08:46,297 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-08 11:08:46,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-08 11:08:46,299 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-08 11:08:46,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:08:46,299 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-08 11:08:46,299 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-08 11:08:46,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-08 11:08:46,416 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-08 11:08:46,416 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-08 11:08:46,417 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 11:08:46,417 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:08:46,417 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:08:46,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 11:08:46,617 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:46,618 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:08:46,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:08:46,618 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-08 11:08:46,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:46,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1093364424] [2022-04-08 11:08:46,618 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:08:46,618 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-08 11:08:46,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:08:46,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [522498307] [2022-04-08 11:08:46,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:08:46,619 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:08:46,630 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:08:46,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [444771224] [2022-04-08 11:08:46,630 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:08:46,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:46,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:08:46,633 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:08:46,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 11:08:46,668 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:08:46,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:08:46,668 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 11:08:46,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:08:46,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:08:47,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-08 11:08:47,579 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-08 11:08:47,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:47,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-08 11:08:47,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-08 11:08:47,580 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-08 11:08:47,583 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-08 11:08:47,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:47,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:47,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:47,583 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-08 11:08:47,583 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-08 11:08:47,583 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-08 11:08:47,584 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-08 11:08:47,585 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-08 11:08:47,585 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-08 11:08:47,585 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-08 11:08:47,586 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-08 11:08:47,586 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-08 11:08:47,586 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-08 11:08:47,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:47,587 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:47,587 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:47,587 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-08 11:08:47,588 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-08 11:08:47,588 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-08 11:08:47,589 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-08 11:08:47,589 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-08 11:08:47,589 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-08 11:08:47,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:47,590 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-08 11:08:47,590 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-08 11:08:47,591 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-08 11:08:47,592 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-08 11:08:47,592 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-08 11:08:47,593 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-08 11:08:47,593 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-08 11:08:47,593 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-08 11:08:47,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:47,594 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-08 11:08:47,594 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-08 11:08:47,595 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-08 11:08:47,595 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-08 11:08:47,599 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-08 11:08:47,600 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-08 11:08:47,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:47,601 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-08 11:08:47,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-08 11:08:47,601 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-08 11:08:47,601 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:08:48,408 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-08 11:08:48,408 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-08 11:08:48,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:08:48,409 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-08 11:08:48,410 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-08 11:08:48,410 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-08 11:08:48,411 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-08 11:08:48,412 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-08 11:08:48,412 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-08 11:08:48,412 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-08 11:08:48,412 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-08 11:08:48,413 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-08 11:08:48,575 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-08 11:08:48,606 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-08 11:08:48,608 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-08 11:08:48,608 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-08 11:08:48,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:48,608 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:48,608 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:48,608 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-08 11:08:48,609 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-08 11:08:48,609 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-08 11:08:48,609 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-08 11:08:48,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:48,609 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-08 11:08:48,609 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-08 11:08:48,609 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-08 11:08:48,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3303#true} {3303#true} #63#return; {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:48,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:48,610 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-08 11:08:48,610 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-08 11:08:48,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-08 11:08:48,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:48,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-08 11:08:48,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-08 11:08:48,610 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-08 11:08:48,610 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-08 11:08:48,610 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-08 11:08:48,610 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-08 11:08:48,610 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-08 11:08:48,610 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-08 11:08:48,610 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-08 11:08:48,611 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 11:08:48,611 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:08:48,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [522498307] [2022-04-08 11:08:48,611 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:08:48,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [444771224] [2022-04-08 11:08:48,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [444771224] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:08:48,611 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:08:48,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-08 11:08:48,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:08:48,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1093364424] [2022-04-08 11:08:48,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1093364424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:08:48,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:08:48,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 11:08:48,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [478812991] [2022-04-08 11:08:48,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:08:48,612 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-08 11:08:48,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:08:48,612 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-08 11:08:48,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:08:48,657 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 11:08:48,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:48,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 11:08:48,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-08 11:08:48,658 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-08 11:08:49,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:49,624 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2022-04-08 11:08:49,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 11:08:49,624 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-08 11:08:49,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:08:49,625 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-08 11:08:49,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-08 11:08:49,627 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-08 11:08:49,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-08 11:08:49,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2022-04-08 11:08:49,675 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-08 11:08:49,676 INFO L225 Difference]: With dead ends: 70 [2022-04-08 11:08:49,676 INFO L226 Difference]: Without dead ends: 62 [2022-04-08 11:08:49,677 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-08 11:08:49,677 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 444 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 11:08:49,677 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.3s Time] [2022-04-08 11:08:49,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-08 11:08:49,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 53. [2022-04-08 11:08:49,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:08:49,764 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-08 11:08:49,765 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-08 11:08:49,767 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-08 11:08:49,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:49,769 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-08 11:08:49,769 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-08 11:08:49,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:49,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:49,769 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-08 11:08:49,770 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-08 11:08:49,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:08:49,771 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-08 11:08:49,771 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-08 11:08:49,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:08:49,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:08:49,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:08:49,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:08:49,772 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-08 11:08:49,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-08 11:08:49,774 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 48 [2022-04-08 11:08:49,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:08:49,774 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-08 11:08:49,774 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-08 11:08:49,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-08 11:08:49,849 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-08 11:08:49,849 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-08 11:08:49,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 11:08:49,850 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:08:49,850 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:08:49,868 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 11:08:50,050 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:50,051 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:08:50,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:08:50,051 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 3 times [2022-04-08 11:08:50,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:08:50,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1112104089] [2022-04-08 11:08:50,051 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:08:50,052 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 4 times [2022-04-08 11:08:50,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:08:50,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1200335897] [2022-04-08 11:08:50,052 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:08:50,052 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:08:50,073 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:08:50,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [595249493] [2022-04-08 11:08:50,073 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:08:50,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:08:50,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:08:50,083 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:08:50,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 11:08:50,130 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:08:50,131 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:08:50,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 11:08:50,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:08:50,155 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:09:00,993 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:09:01,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {3996#true} call ULTIMATE.init(); {3996#true} is VALID [2022-04-08 11:09:01,427 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-08 11:09:01,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-08 11:09:01,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3996#true} {3996#true} #69#return; {3996#true} is VALID [2022-04-08 11:09:01,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {3996#true} call #t~ret8 := main(); {3996#true} is VALID [2022-04-08 11:09:01,427 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-08 11:09:01,428 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-08 11:09:01,428 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-08 11:09:01,428 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-08 11:09:01,428 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-08 11:09:01,429 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-08 11:09:01,429 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-08 11:09:01,429 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-08 11:09:01,429 INFO L290 TraceCheckUtils]: 13: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-08 11:09:01,429 INFO L290 TraceCheckUtils]: 14: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-08 11:09:01,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-08 11:09:01,430 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-08 11:09:01,430 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-08 11:09:01,431 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-08 11:09:01,431 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-08 11:09:01,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-08 11:09:01,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-08 11:09:01,431 INFO L290 TraceCheckUtils]: 22: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-08 11:09:01,432 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-08 11:09:01,432 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-08 11:09:01,433 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-08 11:09:01,434 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-08 11:09:01,434 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-08 11:09:01,434 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-08 11:09:01,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-08 11:09:01,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-08 11:09:01,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-08 11:09:01,435 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-08 11:09:01,435 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-08 11:09:01,436 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-08 11:09:01,437 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-08 11:09:01,437 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-08 11:09:01,437 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-08 11:09:01,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-08 11:09:01,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-08 11:09:01,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-08 11:09:01,438 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-08 11:09:01,439 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-08 11:09:01,440 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-08 11:09:01,440 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-08 11:09:01,442 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-08 11:09:01,443 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-08 11:09:01,443 INFO L290 TraceCheckUtils]: 47: Hoare triple {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4155#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:09:01,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {4155#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3997#false} is VALID [2022-04-08 11:09:01,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {3997#false} assume !false; {3997#false} is VALID [2022-04-08 11:09:01,444 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-08 11:09:01,444 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:09:17,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:09:17,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1200335897] [2022-04-08 11:09:17,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:09:17,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [595249493] [2022-04-08 11:09:17,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [595249493] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 11:09:17,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 11:09:17,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-08 11:09:17,570 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:09:17,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1112104089] [2022-04-08 11:09:17,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1112104089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:09:17,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:09:17,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 11:09:17,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1569372566] [2022-04-08 11:09:17,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:09:17,570 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-08 11:09:17,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:09:17,571 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-08 11:09:17,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:09:17,607 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 11:09:17,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:09:17,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 11:09:17,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-04-08 11:09:17,608 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-08 11:09:18,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:09:18,457 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-04-08 11:09:18,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 11:09:18,457 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-08 11:09:18,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:09:18,457 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-08 11:09:18,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-08 11:09:18,458 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-08 11:09:18,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-08 11:09:18,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2022-04-08 11:09:18,523 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-08 11:09:18,524 INFO L225 Difference]: With dead ends: 81 [2022-04-08 11:09:18,524 INFO L226 Difference]: Without dead ends: 68 [2022-04-08 11:09:18,525 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-08 11:09:18,528 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-08 11:09:18,528 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-08 11:09:18,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-08 11:09:18,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-08 11:09:18,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:09:18,647 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-08 11:09:18,648 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-08 11:09:18,648 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-08 11:09:18,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:09:18,662 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 11:09:18,662 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-08 11:09:18,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:09:18,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:09:18,669 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-08 11:09:18,670 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-08 11:09:18,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:09:18,672 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 11:09:18,672 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-08 11:09:18,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:09:18,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:09:18,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:09:18,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:09:18,672 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-08 11:09:18,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 71 transitions. [2022-04-08 11:09:18,673 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 71 transitions. Word has length 50 [2022-04-08 11:09:18,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:09:18,674 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 71 transitions. [2022-04-08 11:09:18,674 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-08 11:09:18,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 71 transitions. [2022-04-08 11:09:18,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:09:18,776 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-08 11:09:18,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 11:09:18,776 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:09:18,777 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:09:18,794 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 11:09:18,991 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 11:09:18,992 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:09:18,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:09:18,992 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-08 11:09:18,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:09:18,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [260294204] [2022-04-08 11:09:18,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:09:18,993 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-08 11:09:18,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:09:18,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [468220244] [2022-04-08 11:09:18,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:09:18,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:09:19,008 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:09:19,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [958260234] [2022-04-08 11:09:19,009 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:09:19,009 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:09:19,009 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:09:19,023 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:09:19,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 11:09:19,065 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 11:09:19,065 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:09:19,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-08 11:09:19,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:09:19,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:09:21,734 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:09:40,336 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:09:46,358 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:09:56,675 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:10:02,691 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:10:08,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-08 11:10:08,766 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-08 11:10:08,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:08,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-08 11:10:08,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-08 11:10:08,766 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-08 11:10:08,766 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-08 11:10:08,766 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-08 11:10:08,767 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-08 11:10:08,767 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-08 11:10:08,767 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-08 11:10:08,768 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-08 11:10:08,768 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-08 11:10:08,768 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-08 11:10:08,768 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-08 11:10:08,769 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-08 11:10:08,769 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-08 11:10:08,770 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-08 11:10:08,770 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-08 11:10:08,770 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-08 11:10:08,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-08 11:10:08,770 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-08 11:10:08,770 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:08,771 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-08 11:10:08,771 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-08 11:10:08,772 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-08 11:10:08,773 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-08 11:10:08,773 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-08 11:10:08,773 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-08 11:10:08,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:10:08,774 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-08 11:10:08,774 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-08 11:10:08,775 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-08 11:10:08,776 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-08 11:10:08,777 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-08 11:10:08,777 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-08 11:10:08,778 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-08 11:10:08,778 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-08 11:10:08,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:10:08,779 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-08 11:10:08,779 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-08 11:10:08,780 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-08 11:10:08,780 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-08 11:10:08,782 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-08 11:10:08,784 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-08 11:10:08,788 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-08 11:10:08,795 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-08 11:10:08,796 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-08 11:10:08,796 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-08 11:10:08,796 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-08 11:10:08,796 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 11:10:08,797 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:10:11,620 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-08 11:10:11,620 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-08 11:10:11,620 INFO L290 TraceCheckUtils]: 47: Hoare triple {4837#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:10:11,621 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-08 11:10:11,622 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-08 11:10:11,623 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-08 11:10:11,625 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-08 11:10:11,625 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-08 11:10:11,626 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-08 11:10:11,626 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-08 11:10:11,627 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-08 11:10:11,627 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-08 11:10:11,627 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-08 11:10:11,628 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-08 11:10:11,628 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-08 11:10:11,628 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-08 11:10:11,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-08 11:10:11,628 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-08 11:10:11,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:11,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-08 11:10:11,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-08 11:10:11,628 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-08 11:10:11,628 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-08 11:10:11,628 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-08 11:10:11,628 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-08 11:10:11,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-08 11:10:11,629 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-08 11:10:11,629 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-08 11:10:11,629 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-08 11:10:11,629 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4658#true} {4658#true} #63#return; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-08 11:10:11,629 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-08 11:10:11,629 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-08 11:10:11,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4658#true} {4658#true} #61#return; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:11,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-08 11:10:11,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-08 11:10:11,630 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-08 11:10:11,630 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-08 11:10:11,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-08 11:10:11,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-08 11:10:11,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-08 11:10:11,630 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-08 11:10:11,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-08 11:10:11,630 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 11:10:11,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:10:11,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [468220244] [2022-04-08 11:10:11,630 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:10:11,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [958260234] [2022-04-08 11:10:11,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [958260234] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:10:11,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:10:11,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 11] total 30 [2022-04-08 11:10:11,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:10:11,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [260294204] [2022-04-08 11:10:11,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [260294204] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:10:11,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:10:11,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 11:10:11,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685140945] [2022-04-08 11:10:11,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:10:11,631 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-08 11:10:11,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:10:11,632 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-08 11:10:11,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:10:11,716 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 11:10:11,716 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:10:11,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 11:10:11,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=745, Unknown=0, NotChecked=0, Total=870 [2022-04-08 11:10:11,717 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-08 11:10:13,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:13,676 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-08 11:10:13,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 11:10:13,676 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-08 11:10:13,676 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:10:13,677 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-08 11:10:13,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-08 11:10:13,678 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-08 11:10:13,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-08 11:10:13,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-08 11:10:13,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:10:13,763 INFO L225 Difference]: With dead ends: 86 [2022-04-08 11:10:13,764 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 11:10:13,764 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 69 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 319 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=188, Invalid=1144, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 11:10:13,764 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-08 11:10:13,765 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-08 11:10:13,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 11:10:13,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 54. [2022-04-08 11:10:13,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:10:13,878 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-08 11:10:13,879 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-08 11:10:13,880 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-08 11:10:13,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:13,886 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-08 11:10:13,886 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-08 11:10:13,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:10:13,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:10:13,886 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-08 11:10:13,886 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-08 11:10:13,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:13,889 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-08 11:10:13,889 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-08 11:10:13,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:10:13,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:10:13,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:10:13,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:10:13,890 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-08 11:10:13,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-08 11:10:13,890 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2022-04-08 11:10:13,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:10:13,890 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-08 11:10:13,892 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-08 11:10:13,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 55 transitions. [2022-04-08 11:10:13,982 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-08 11:10:13,982 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-08 11:10:13,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 11:10:13,982 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:10:13,982 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:10:13,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 11:10:14,198 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 11:10:14,199 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:10:14,199 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:10:14,199 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 1 times [2022-04-08 11:10:14,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:10:14,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1164524351] [2022-04-08 11:10:14,199 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:10:14,199 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 2 times [2022-04-08 11:10:14,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:10:14,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [551732224] [2022-04-08 11:10:14,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:10:14,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:10:14,217 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:10:14,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [162192474] [2022-04-08 11:10:14,218 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:10:14,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:10:14,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:10:14,220 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:10:14,221 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 11:10:14,272 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:10:14,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:10:14,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 11:10:14,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:10:14,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:10:14,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-08 11:10:14,868 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-08 11:10:14,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-08 11:10:14,869 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-08 11:10:14,869 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-08 11:10:14,869 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-08 11:10:14,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-08 11:10:14,870 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-08 11:10:14,870 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-08 11:10:14,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,870 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-08 11:10:14,870 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-08 11:10:14,871 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-08 11:10:14,871 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-08 11:10:14,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,871 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-08 11:10:14,872 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-08 11:10:14,872 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-08 11:10:14,873 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-08 11:10:14,873 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-08 11:10:14,873 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-08 11:10:14,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,873 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,874 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-08 11:10:14,874 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-08 11:10:14,874 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-08 11:10:14,875 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-08 11:10:14,875 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-08 11:10:14,875 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-08 11:10:14,875 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,876 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,876 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,876 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-08 11:10:14,876 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-08 11:10:14,877 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-08 11:10:14,877 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-08 11:10:14,878 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-08 11:10:14,878 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-08 11:10:14,878 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:14,878 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:14,878 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:14,878 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-08 11:10:14,879 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-08 11:10:14,879 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-08 11:10:14,880 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-08 11:10:14,880 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:10:14,881 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-08 11:10:14,881 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-08 11:10:14,882 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 11:10:14,882 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:10:15,996 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-08 11:10:15,996 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-08 11:10:15,996 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:10:15,997 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-08 11:10:15,998 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-08 11:10:15,998 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-08 11:10:15,998 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-08 11:10:15,998 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:15,998 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:15,998 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:15,999 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-08 11:10:15,999 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-08 11:10:16,002 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-08 11:10:16,004 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-08 11:10:16,004 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-08 11:10:16,005 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-08 11:10:16,005 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,005 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:16,005 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:16,006 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-08 11:10:16,006 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-08 11:10:16,008 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-08 11:10:16,009 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-08 11:10:16,010 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-08 11:10:16,010 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-08 11:10:16,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:16,010 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:16,010 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-08 11:10:16,011 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-08 11:10:16,016 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-08 11:10:16,018 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-08 11:10:16,019 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-08 11:10:16,020 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-08 11:10:16,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,020 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:16,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:16,020 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-08 11:10:16,021 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-08 11:10:16,022 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-08 11:10:16,022 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-08 11:10:16,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:16,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:16,022 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-08 11:10:16,023 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-08 11:10:16,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-08 11:10:16,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-08 11:10:16,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-08 11:10:16,023 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-08 11:10:16,023 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-08 11:10:16,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-08 11:10:16,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-08 11:10:16,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-08 11:10:16,023 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-08 11:10:16,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-08 11:10:16,024 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 11:10:16,024 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:10:16,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [551732224] [2022-04-08 11:10:16,024 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:10:16,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [162192474] [2022-04-08 11:10:16,024 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [162192474] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:10:16,024 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:10:16,024 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-08 11:10:16,024 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:10:16,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1164524351] [2022-04-08 11:10:16,024 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1164524351] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:10:16,024 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:10:16,024 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 11:10:16,025 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1756129732] [2022-04-08 11:10:16,025 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:10:16,026 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-08 11:10:16,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:10:16,026 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-08 11:10:16,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:10:16,056 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 11:10:16,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:10:16,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 11:10:16,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=415, Unknown=0, NotChecked=0, Total=506 [2022-04-08 11:10:16,057 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-08 11:10:16,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:16,846 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-04-08 11:10:16,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 11:10:16,846 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-08 11:10:16,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:10:16,846 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-08 11:10:16,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-08 11:10:16,847 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-08 11:10:16,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-08 11:10:16,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-08 11:10:16,895 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-08 11:10:16,896 INFO L225 Difference]: With dead ends: 69 [2022-04-08 11:10:16,896 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 11:10:16,896 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=109, Invalid=491, Unknown=0, NotChecked=0, Total=600 [2022-04-08 11:10:16,896 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 11:10:16,897 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.3s Time] [2022-04-08 11:10:16,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 11:10:16,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-08 11:10:16,997 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:10:16,997 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-08 11:10:16,997 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-08 11:10:16,997 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-08 11:10:16,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:16,998 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-08 11:10:16,998 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-08 11:10:16,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:10:16,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:10:16,999 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-08 11:10:16,999 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-08 11:10:16,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:10:16,999 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-08 11:10:17,000 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-08 11:10:17,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:10:17,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:10:17,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:10:17,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:10:17,000 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-08 11:10:17,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 54 transitions. [2022-04-08 11:10:17,001 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 54 transitions. Word has length 57 [2022-04-08 11:10:17,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:10:17,001 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 54 transitions. [2022-04-08 11:10:17,001 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-08 11:10:17,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 54 transitions. [2022-04-08 11:10:17,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:10:17,106 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-08 11:10:17,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 11:10:17,107 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:10:17,107 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:10:17,139 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 11:10:17,307 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 11:10:17,308 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:10:17,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:10:17,308 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-08 11:10:17,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:10:17,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [30240118] [2022-04-08 11:10:17,309 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:10:17,309 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-08 11:10:17,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:10:17,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819300439] [2022-04-08 11:10:17,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:10:17,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:10:17,322 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:10:17,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1692913646] [2022-04-08 11:10:17,322 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:10:17,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:10:17,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:10:17,329 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:10:17,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 11:10:17,401 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 11:10:17,401 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:10:17,402 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 11:10:17,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:10:17,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:10:33,213 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:10:41,764 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:10:45,314 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:11:38,081 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-08 11:11:38,081 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-08 11:11:38,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:38,081 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-08 11:11:38,081 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-08 11:11:38,081 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-08 11:11:38,081 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-08 11:11:38,082 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-08 11:11:38,082 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-08 11:11:38,082 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-08 11:11:38,083 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-08 11:11:38,083 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-08 11:11:38,083 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-08 11:11:38,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:38,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:38,083 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:38,084 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-08 11:11:38,084 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-08 11:11:38,085 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-08 11:11:38,085 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-08 11:11:38,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:38,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:38,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:38,085 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-08 11:11:38,086 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-08 11:11:38,086 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-08 11:11:38,087 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-08 11:11:38,087 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-08 11:11:38,087 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-08 11:11:38,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:38,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:38,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:38,088 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-08 11:11:38,088 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-08 11:11:38,089 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-08 11:11:38,089 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-08 11:11:38,089 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-08 11:11:38,089 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-08 11:11:38,089 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:38,090 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:38,090 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:38,090 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-08 11:11:38,090 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-08 11:11:38,091 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-08 11:11:38,091 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-08 11:11:38,092 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-08 11:11:38,092 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-08 11:11:38,092 INFO L290 TraceCheckUtils]: 47: Hoare triple {6145#true} ~cond := #in~cond; {6298#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:11:38,092 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-08 11:11:38,093 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-08 11:11:38,094 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-08 11:11:38,094 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-08 11:11:38,114 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-08 11:11:38,131 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-08 11:11:38,131 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:11:38,131 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-08 11:11:38,132 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-08 11:11:38,132 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-08 11:11:38,132 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:11:39,090 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-08 11:11:39,090 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-08 11:11:39,091 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:11:39,091 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-08 11:11:39,092 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-08 11:11:39,092 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-08 11:11:39,093 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-08 11:11:39,093 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-08 11:11:39,094 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-08 11:11:39,094 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-08 11:11:39,094 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-08 11:11:39,095 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-08 11:11:39,097 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-08 11:11:39,097 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-08 11:11:39,098 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-08 11:11:39,098 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-08 11:11:39,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 INFO L290 TraceCheckUtils]: 33: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 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-08 11:11:39,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-08 11:11:39,099 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:39,100 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-08 11:11:39,100 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-08 11:11:39,100 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-08 11:11:39,100 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6145#true} {6145#true} #63#return; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:39,100 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-08 11:11:39,100 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-08 11:11:39,100 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6145#true} {6145#true} #61#return; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-08 11:11:39,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-08 11:11:39,101 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-08 11:11:39,101 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-08 11:11:39,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-08 11:11:39,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-08 11:11:39,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-08 11:11:39,101 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-08 11:11:39,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-08 11:11:39,101 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 11:11:39,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:11:39,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819300439] [2022-04-08 11:11:39,101 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:11:39,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1692913646] [2022-04-08 11:11:39,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1692913646] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:11:39,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:11:39,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-08 11:11:39,102 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:11:39,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [30240118] [2022-04-08 11:11:39,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [30240118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:11:39,110 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:11:39,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 11:11:39,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1175060535] [2022-04-08 11:11:39,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:11:39,110 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 11:11:39,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:11:39,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 11:11:39,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:11:39,206 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 11:11:39,206 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:11:39,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 11:11:39,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-08 11:11:39,206 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-08 11:11:41,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:11:41,564 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-08 11:11:41,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 11:11:41,564 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 11:11:41,565 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:11:41,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 11:11:41,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-08 11:11:41,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 11:11:41,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-08 11:11:41,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 36 transitions. [2022-04-08 11:11:41,643 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-08 11:11:41,643 INFO L225 Difference]: With dead ends: 54 [2022-04-08 11:11:41,643 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 11:11:41,644 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 214 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2022-04-08 11:11:41,644 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 26 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 184 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 11:11:41,644 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.6s Time] [2022-04-08 11:11:41,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 11:11:41,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 11:11:41,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:11:41,645 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-08 11:11:41,645 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-08 11:11:41,645 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-08 11:11:41,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:11:41,645 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 11:11:41,645 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:11:41,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:11:41,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:11:41,645 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-08 11:11:41,645 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-08 11:11:41,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:11:41,645 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 11:11:41,645 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:11:41,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:11:41,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:11:41,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:11:41,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:11:41,646 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-08 11:11:41,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 11:11:41,646 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-08 11:11:41,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:11:41,646 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 11:11:41,646 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 11:11:41,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 11:11:41,646 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-08 11:11:41,646 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:11:41,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:11:41,648 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 11:11:41,679 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-08 11:11:41,849 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 11:11:41,851 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 11:11:53,923 WARN L232 SmtUtils]: Spent 7.28s 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-08 11:11:59,486 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-08 11:11:59,486 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-08 11:11:59,486 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-08 11:11:59,486 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-08 11:11:59,486 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-08 11:11:59,486 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-08 11:11:59,487 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-08 11:11:59,487 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-08 11:11:59,487 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-08 11:11:59,487 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-08 11:11:59,487 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 21 53) the Hoare annotation is: true [2022-04-08 11:11:59,487 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-08 11:11:59,487 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-08 11:11:59,487 INFO L885 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: true [2022-04-08 11:11:59,487 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 21 53) the Hoare annotation is: true [2022-04-08 11:11:59,487 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-08 11:11:59,487 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-08 11:11:59,488 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-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-08 11:11:59,488 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-08 11:11:59,488 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-08 11:11:59,488 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-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 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-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 11:11:59,488 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 11:11:59,489 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-08 11:11:59,489 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-08 11:11:59,489 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-08 11:11:59,489 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-08 11:11:59,489 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 11:11:59,491 INFO L719 BasicCegarLoop]: Path program histogram: [6, 6, 4, 2, 2, 2, 2] [2022-04-08 11:11:59,491 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 11:11:59,493 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 11:11:59,494 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 11:11:59,634 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-08 11:11:59,644 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 11:11:59 BoogieIcfgContainer [2022-04-08 11:11:59,644 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 11:11:59,645 INFO L158 Benchmark]: Toolchain (without parser) took 391710.98ms. Allocated memory was 158.3MB in the beginning and 190.8MB in the end (delta: 32.5MB). Free memory was 109.5MB in the beginning and 110.1MB in the end (delta: -566.8kB). Peak memory consumption was 90.1MB. Max. memory is 8.0GB. [2022-04-08 11:11:59,645 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 158.3MB. Free memory is still 125.9MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 11:11:59,645 INFO L158 Benchmark]: CACSL2BoogieTranslator took 246.00ms. Allocated memory is still 158.3MB. Free memory was 109.2MB in the beginning and 134.7MB in the end (delta: -25.4MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-08 11:11:59,646 INFO L158 Benchmark]: Boogie Preprocessor took 21.96ms. Allocated memory is still 158.3MB. Free memory was 134.7MB in the beginning and 133.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 11:11:59,646 INFO L158 Benchmark]: RCFGBuilder took 306.37ms. Allocated memory is still 158.3MB. Free memory was 133.1MB in the beginning and 120.5MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 11:11:59,646 INFO L158 Benchmark]: TraceAbstraction took 391132.15ms. Allocated memory was 158.3MB in the beginning and 190.8MB in the end (delta: 32.5MB). Free memory was 120.0MB in the beginning and 110.1MB in the end (delta: 9.9MB). Peak memory consumption was 100.6MB. Max. memory is 8.0GB. [2022-04-08 11:11:59,647 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.11ms. Allocated memory is still 158.3MB. Free memory is still 125.9MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 246.00ms. Allocated memory is still 158.3MB. Free memory was 109.2MB in the beginning and 134.7MB in the end (delta: -25.4MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 21.96ms. Allocated memory is still 158.3MB. Free memory was 134.7MB in the beginning and 133.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 306.37ms. Allocated memory is still 158.3MB. Free memory was 133.1MB in the beginning and 120.5MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 391132.15ms. Allocated memory was 158.3MB in the beginning and 190.8MB in the end (delta: 32.5MB). Free memory was 120.0MB in the beginning and 110.1MB in the end (delta: 9.9MB). Peak memory consumption was 100.6MB. 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: 390.9s, OverallIterations: 12, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 15.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 17.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 277 SdHoareTripleChecker+Valid, 5.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 261 mSDsluCounter, 1529 SdHoareTripleChecker+Invalid, 5.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 46 IncrementalHoareTripleChecker+Unchecked, 1253 mSDsCounter, 119 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2929 IncrementalHoareTripleChecker+Invalid, 3095 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 119 mSolverCounterUnsat, 276 mSDtfsCounter, 2929 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 911 GetRequests, 639 SyntacticMatches, 16 SemanticMatches, 256 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 1417 ImplicationChecksByTransitivity, 16.7s 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.6s HoareSimplificationTime, 32 FomulaSimplificationsInter, 13172 FormulaSimplificationTreeSizeReductionInter, 16.9s 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-08 11:11:59,717 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...