/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:04:27,091 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:04:27,093 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:04:27,118 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:04:27,118 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:04:27,119 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:04:27,120 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:04:27,121 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:04:27,122 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:04:27,123 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:04:27,127 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:04:27,130 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:04:27,130 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:04:27,130 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:04:27,131 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:04:27,132 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:04:27,132 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:04:27,133 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:04:27,134 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:04:27,135 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:04:27,136 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:04:27,140 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:04:27,144 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:04:27,145 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:04:27,145 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:04:27,147 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:04:27,147 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:04:27,147 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:04:27,148 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:04:27,148 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:04:27,149 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:04:27,149 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:04:27,149 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:04:27,150 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:04:27,150 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:04:27,150 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:04:27,151 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:04:27,151 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:04:27,151 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:04:27,151 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:04:27,152 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:04:27,152 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:04:27,153 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 11:04:27,158 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:04:27,158 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:04:27,159 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:04:27,159 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:04:27,159 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:04:27,159 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:04:27,160 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:04:27,160 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:04:27,161 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:04:27,161 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:04:27,161 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:04:27,161 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:04:27,161 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:04:27,161 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:04:27,162 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:04:27,162 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:04:27,162 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:04:27,162 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 11:04:27,322 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:04:27,336 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:04:27,337 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:04:27,338 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:04:27,341 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:04:27,342 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-28 11:04:27,381 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3ca590a5/303b13b4cc8c48cf89271685ade9f7f1/FLAG19b7a46ce [2022-04-28 11:04:27,708 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:04:27,708 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-28 11:04:27,712 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3ca590a5/303b13b4cc8c48cf89271685ade9f7f1/FLAG19b7a46ce [2022-04-28 11:04:28,152 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3ca590a5/303b13b4cc8c48cf89271685ade9f7f1 [2022-04-28 11:04:28,153 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:04:28,154 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:04:28,155 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:04:28,155 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:04:28,157 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:04:28,158 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,158 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@38a9dbcb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28, skipping insertion in model container [2022-04-28 11:04:28,158 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,162 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:04:28,170 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:04:28,279 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c[597,610] [2022-04-28 11:04:28,295 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:04:28,300 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:04:28,306 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c[597,610] [2022-04-28 11:04:28,314 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:04:28,322 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:04:28,322 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28 WrapperNode [2022-04-28 11:04:28,322 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:04:28,323 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:04:28,323 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:04:28,323 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:04:28,332 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,332 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,337 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,337 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,351 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,354 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,359 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,362 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:04:28,363 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:04:28,363 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:04:28,363 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:04:28,364 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (1/1) ... [2022-04-28 11:04:28,369 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:04:28,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:28,385 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 11:04:28,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:04:28,406 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:04:28,406 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:04:28,407 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:04:28,448 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:04:28,449 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:04:28,562 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:04:28,567 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:04:28,567 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 11:04:28,568 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:04:28 BoogieIcfgContainer [2022-04-28 11:04:28,568 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:04:28,569 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:04:28,569 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:04:28,571 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:04:28,571 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:04:28" (1/3) ... [2022-04-28 11:04:28,572 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f3f12a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:04:28, skipping insertion in model container [2022-04-28 11:04:28,572 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:04:28" (2/3) ... [2022-04-28 11:04:28,572 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f3f12a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:04:28, skipping insertion in model container [2022-04-28 11:04:28,572 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:04:28" (3/3) ... [2022-04-28 11:04:28,573 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound10.c [2022-04-28 11:04:28,582 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:04:28,582 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:04:28,622 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:04:28,626 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4a01876, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@304a6986 [2022-04-28 11:04:28,626 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:04:28,640 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-28 11:04:28,644 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:04:28,644 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:28,645 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:04:28,645 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:28,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:28,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 11:04:28,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:28,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [688513969] [2022-04-28 11:04:28,662 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:04:28,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 11:04:28,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:28,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1908113626] [2022-04-28 11:04:28,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:28,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:28,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:28,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:04:28,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:28,836 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-28 11:04:28,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:04:28,836 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:04:28,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 11:04:28,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:28,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:04:28,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:04:28,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:04:28,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:04:28,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 11:04:28,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:28,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:04:28,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:04:28,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:04:28,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:04:28,864 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-28 11:04:28,864 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-28 11:04:28,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:04:28,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:04:28,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 11:04:28,865 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-28 11:04:28,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 11:04:28,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:04:28,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:04:28,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:04:28,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:04:28,866 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-28 11:04:28,866 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 11:04:28,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:04:28,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:04:28,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:04:28,867 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:04:28,867 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-28 11:04:28,867 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-28 11:04:28,868 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-28 11:04:28,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 11:04:28,868 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 11:04:28,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 11:04:28,868 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-28 11:04:28,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:04:28,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1908113626] [2022-04-28 11:04:28,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1908113626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:28,870 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:28,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:04:28,872 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:04:28,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [688513969] [2022-04-28 11:04:28,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [688513969] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:28,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:28,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:04:28,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1022374918] [2022-04-28 11:04:28,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:04:28,876 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-28 11:04:28,877 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:04:28,879 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-28 11:04: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-28 11:04:28,903 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:04:28,903 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:28,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:04:28,926 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:04:28,929 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-28 11:04:29,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,061 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 11:04:29,061 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:04:29,061 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-28 11:04:29,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:04:29,062 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-28 11:04:29,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:04:29,068 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-28 11:04:29,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:04:29,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 11:04:29,139 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-28 11:04:29,145 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:04:29,145 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 11:04:29,147 INFO L412 NwaCegarLoop]: 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-28 11:04:29,150 INFO L413 NwaCegarLoop]: 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-28 11:04:29,150 INFO L414 NwaCegarLoop]: 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-28 11:04:29,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 11:04:29,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 11:04:29,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:04:29,173 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-28 11:04:29,173 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-28 11:04:29,174 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-28 11:04:29,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,177 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:04:29,177 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:04:29,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:29,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:29,178 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-28 11:04:29,178 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-28 11:04:29,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,181 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:04:29,181 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:04:29,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:29,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:29,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:04:29,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:04:29,182 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-28 11:04:29,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 11:04:29,185 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 11:04:29,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:04:29,185 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 11:04:29,186 INFO L496 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-28 11:04:29,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 11:04:29,213 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-28 11:04:29,214 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:04:29,214 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:04:29,214 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:29,214 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:04:29,215 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:04:29,215 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:29,215 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:29,215 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 11:04:29,215 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:29,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [693907067] [2022-04-28 11:04:29,217 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:04:29,217 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 11:04:29,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:29,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [521761523] [2022-04-28 11:04:29,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:29,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:29,244 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:04:29,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [458669848] [2022-04-28 11:04:29,244 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:04:29,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:29,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:29,246 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:04:29,247 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 11:04:29,292 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:04:29,292 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:04:29,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 11:04:29,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:29,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:04:29,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 11:04:29,494 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-28 11:04:29,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:04:29,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 11:04:29,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 11:04:29,495 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-28 11:04:29,495 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {273#true} is VALID [2022-04-28 11:04:29,495 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:04:29,496 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:04:29,496 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:04:29,496 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 11:04:29,496 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-28 11:04:29,496 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {273#true} is VALID [2022-04-28 11:04:29,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:04:29,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:04:29,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:04:29,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 11:04:29,501 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-28 11:04:29,501 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-28 11:04:29,502 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-28 11:04:29,504 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:29,504 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 11:04:29,505 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 11:04:29,505 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-28 11:04:29,505 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:04:29,506 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:04:29,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [521761523] [2022-04-28 11:04:29,506 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:04:29,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [458669848] [2022-04-28 11:04:29,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [458669848] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:29,507 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:29,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:04:29,508 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:04:29,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [693907067] [2022-04-28 11:04:29,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [693907067] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:29,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:29,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:04:29,508 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1011941761] [2022-04-28 11:04:29,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:04:29,509 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-28 11:04:29,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:04:29,510 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-28 11:04:29,524 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-28 11:04:29,524 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:04:29,524 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:29,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:04:29,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:04:29,526 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-28 11:04:29,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,701 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:04:29,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:04:29,701 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-28 11:04:29,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:04:29,702 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-28 11:04:29,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:04:29,713 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-28 11:04:29,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:04:29,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 11:04:29,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:29,749 INFO L225 Difference]: With dead ends: 39 [2022-04-28 11:04:29,749 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 11:04:29,749 INFO L412 NwaCegarLoop]: 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-28 11:04:29,750 INFO L413 NwaCegarLoop]: 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-28 11:04:29,750 INFO L414 NwaCegarLoop]: 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-28 11:04:29,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 11:04:29,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 11:04:29,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:04:29,760 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-28 11:04:29,760 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-28 11:04:29,761 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-28 11:04:29,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,762 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:04:29,763 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:04:29,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:29,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:29,763 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-28 11:04:29,764 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-28 11:04:29,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:29,765 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:04:29,765 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:04:29,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:29,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:29,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:04:29,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:04:29,766 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-28 11:04:29,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 11:04:29,768 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 11:04:29,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:04:29,768 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 11:04:29,768 INFO L496 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-28 11:04:29,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 11:04:29,796 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-28 11:04:29,796 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 11:04:29,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:04:29,796 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:29,797 INFO L195 NwaCegarLoop]: 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-28 11:04:29,815 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 11:04:30,015 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:30,016 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:30,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:30,016 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 11:04:30,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:30,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1707108079] [2022-04-28 11:04:30,017 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:04:30,017 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 11:04:30,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:30,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1352507177] [2022-04-28 11:04:30,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:30,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:30,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:04:30,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1720200153] [2022-04-28 11:04:30,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:04:30,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:30,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:30,034 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:04:30,035 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 11:04:30,073 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:04:30,073 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:04:30,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:04:30,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:30,103 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:04:30,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:04:30,430 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-28 11:04:30,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:04:30,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:04:30,431 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-28 11:04:30,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:04:30,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:04:30,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:04:30,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 11:04:30,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:04:30,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:04:30,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:04:30,433 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,434 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:04:30,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:04:30,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,435 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:04:30,438 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:30,438 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:30,438 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:04:30,439 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:04:30,439 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:04:30,439 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:04:30,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:04:30,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:04:30,638 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:30,639 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:30,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:04:30,641 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:30,641 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:04:30,642 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:30,642 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:30,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,643 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:04:30,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:04:30,643 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:30,645 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:30,645 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-28 11:04:30,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:04:30,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:04:30,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {567#true} is VALID [2022-04-28 11:04:30,647 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-28 11:04:30,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:04:30,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:04:30,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:04:30,648 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-28 11:04:30,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:04:30,649 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:04:30,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:04:30,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1352507177] [2022-04-28 11:04:30,649 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:04:30,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1720200153] [2022-04-28 11:04:30,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1720200153] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:04:30,650 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:04:30,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 11:04:30,650 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:04:30,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1707108079] [2022-04-28 11:04:30,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1707108079] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:30,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:30,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:04:30,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1983114012] [2022-04-28 11:04:30,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:04:30,651 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:04:30,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:04:30,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:30,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:30,674 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:04:30,674 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:30,677 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:04:30,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:04:30,678 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:31,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:31,182 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-28 11:04:31,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:04:31,182 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:04:31,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:04:31,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:31,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:04:31,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:31,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:04:31,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-28 11:04:31,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:31,227 INFO L225 Difference]: With dead ends: 48 [2022-04-28 11:04:31,227 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 11:04:31,228 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:04:31,228 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:04:31,229 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:04:31,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 11:04:31,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-28 11:04:31,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:04:31,256 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:04:31,256 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:04:31,257 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:04:31,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:31,258 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:04:31,258 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:04:31,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:31,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:31,259 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-28 11:04:31,259 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-28 11:04:31,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:31,261 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:04:31,261 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:04:31,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:31,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:31,261 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:04:31,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:04:31,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:04:31,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:04:31,263 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-28 11:04:31,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:04:31,263 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:04:31,263 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:31,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:04:31,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:31,313 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:04:31,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:04:31,314 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:31,314 INFO L195 NwaCegarLoop]: 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-28 11:04:31,332 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 11:04:31,532 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 11:04:31,533 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:31,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:31,533 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 11:04:31,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:31,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [961782997] [2022-04-28 11:04:31,534 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:04:31,534 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 11:04:31,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:31,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523675966] [2022-04-28 11:04:31,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:31,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:31,545 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:04:31,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1279000670] [2022-04-28 11:04:31,545 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:04:31,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:31,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:31,547 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:04:31,548 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 11:04:31,579 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:04:31,579 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:04:31,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:04:31,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:31,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:04:31,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:31,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:31,791 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:04:31,799 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:31,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:31,800 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:31,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:31,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:31,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:31,801 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:31,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:31,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:04:31,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:04:31,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 11:04:31,803 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:31,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:31,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:04:31,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:04:31,804 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-28 11:04:31,804 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:04:31,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:04:31,991 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:04:31,991 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:31,992 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:31,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:04:32,039 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:32,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:04:32,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:04:32,042 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:04:32,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:32,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:32,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:32,043 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:32,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:04:32,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:04:32,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:04:32,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-28 11:04:32,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:04:32,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:04:32,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:04:32,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-28 11:04:32,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:04:32,045 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-28 11:04:32,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:04:32,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523675966] [2022-04-28 11:04:32,045 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:04:32,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1279000670] [2022-04-28 11:04:32,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1279000670] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:04:32,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:04:32,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 11:04:32,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:04:32,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [961782997] [2022-04-28 11:04:32,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [961782997] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:04:32,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:04:32,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:04:32,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1902979286] [2022-04-28 11:04:32,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:04:32,047 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-28 11:04:32,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:04:32,047 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-28 11:04:32,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:32,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:04:32,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:32,069 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:04:32,069 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:04:32,069 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:04:32,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:32,388 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 11:04:32,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:04:32,388 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-28 11:04:32,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:04:32,388 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-28 11:04:32,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:04:32,390 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-28 11:04:32,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:04:32,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 11:04:32,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:04:32,436 INFO L225 Difference]: With dead ends: 56 [2022-04-28 11:04:32,436 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 11:04:32,437 INFO L412 NwaCegarLoop]: 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-28 11:04:32,437 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:04:32,438 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:04:32,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 11:04:32,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-28 11:04:32,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:04:32,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:04:32,467 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:04:32,467 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:04:32,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:32,469 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:04:32,469 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:04:32,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:32,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:32,469 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:04:32,469 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:04:32,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:04:32,471 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:04:32,471 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:04:32,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:04:32,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:04:32,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:04:32,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:04:32,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:04:32,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 11:04:32,473 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-28 11:04:32,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:04:32,473 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 11:04:32,473 INFO L496 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-28 11:04:32,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 11:04:32,524 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-28 11:04:32,525 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 11:04:32,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 11:04:32,525 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:04:32,525 INFO L195 NwaCegarLoop]: 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-28 11:04:32,541 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 11:04:32,739 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:32,739 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:04:32,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:04:32,740 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 11:04:32,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:04:32,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [689048896] [2022-04-28 11:04:32,744 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:04:32,744 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 11:04:32,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:04:32,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2090550774] [2022-04-28 11:04:32,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:04:32,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:04:32,769 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:04:32,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2050675655] [2022-04-28 11:04:32,769 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:04:32,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:04:32,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:04:32,771 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:04:32,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 11:04:32,811 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:04:32,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:04:32,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:04:32,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:04:32,826 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:04:44,467 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:04:50,205 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:04:53,638 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:04:58,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:04:58,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:04:58,196 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:04:58,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:58,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:58,199 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:04:58,199 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:58,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:58,200 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:58,201 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:58,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:04:58,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:04:58,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:04:58,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:04:58,202 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:04:58,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:58,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:58,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:04:58,205 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-28 11:04:58,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:04:58,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 11:04:58,213 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:04:58,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:04:58,214 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:04:58,214 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:04:58,214 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-28 11:04:58,215 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:08,585 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:05:08,586 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:05:08,586 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:08,587 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:08,588 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:05:08,588 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:05:08,589 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:05:08,589 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:08,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:08,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:05:08,590 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:05:08,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:05:08,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:05:08,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-28 11:05:08,596 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-28 11:05:08,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-28 11:05:08,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:05:08,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:05:08,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:05:08,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-28 11:05:08,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:05:08,598 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-28 11:05:08,598 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:08,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2090550774] [2022-04-28 11:05:08,598 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:08,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2050675655] [2022-04-28 11:05:08,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2050675655] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:08,598 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:08,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 11:05:08,599 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:08,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [689048896] [2022-04-28 11:05:08,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [689048896] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:08,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:08,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:05:08,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1966838380] [2022-04-28 11:05:08,599 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:08,599 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-28 11:05:08,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:08,600 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-28 11:05:08,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:08,637 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:05:08,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:08,637 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:05:08,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:05:08,638 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:11,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:11,849 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 11:05:11,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:05:11,849 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-28 11:05:11,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:11,850 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-28 11:05:11,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:05:11,851 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-28 11:05:11,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:05:11,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-28 11:05:11,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:11,895 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:05:11,895 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 11:05:11,896 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:05:11,896 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:11,896 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:05:11,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 11:05:11,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-28 11:05:11,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:11,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:05:11,927 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:05:11,927 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:05:11,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:11,928 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:05:11,929 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:05:11,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:11,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:11,929 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 11:05:11,929 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 11:05:11,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:11,930 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:05:11,930 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:05:11,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:11,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:11,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:11,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:11,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:05:11,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:05:11,932 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-28 11:05:11,932 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:11,932 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:05:11,932 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (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-28 11:05:11,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:05:11,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:11,995 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:05:11,995 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:05:11,995 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:11,995 INFO L195 NwaCegarLoop]: 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-28 11:05:12,013 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 11:05:12,196 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:12,196 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:12,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:12,196 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-28 11:05:12,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:12,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2139441869] [2022-04-28 11:05:12,197 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:12,197 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-28 11:05:12,197 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:12,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [756476951] [2022-04-28 11:05:12,197 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:12,197 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:12,207 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:12,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [640147063] [2022-04-28 11:05:12,207 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:05:12,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:12,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:12,211 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:05:12,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 11:05:12,257 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:05:12,257 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:12,258 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 11:05:12,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:12,269 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:12,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:12,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:05:12,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:12,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:12,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2155#true} #61#return; {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:05:12,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:05:12,931 INFO L272 TraceCheckUtils]: 12: Hoare triple {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:12,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:05:12,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:12,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:12,933 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2192#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {2211#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,933 INFO L290 TraceCheckUtils]: 17: Hoare triple {2211#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,934 INFO L290 TraceCheckUtils]: 18: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} is VALID [2022-04-28 11:05:12,934 INFO L272 TraceCheckUtils]: 19: Hoare triple {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:12,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:12,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {2226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:12,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:12,936 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} {2219#(and (= main_~x~0 0) (<= main_~X~0 10) (<= (* main_~Y~0 main_~x~0) main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} #65#return; {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,936 INFO L290 TraceCheckUtils]: 24: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {2215#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2243#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,938 INFO L290 TraceCheckUtils]: 26: Hoare triple {2243#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,938 INFO L272 TraceCheckUtils]: 28: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:12,938 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:05:12,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:05:12,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:12,939 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2155#true} {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,939 INFO L290 TraceCheckUtils]: 33: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:05:12,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {2247#(and (<= main_~X~0 10) (= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2272#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-28 11:05:12,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {2272#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2276#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-28 11:05:12,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {2276#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2280#(and (= main_~xy~0 0) (<= main_~X~0 10) (= (* main_~Y~0 2) main_~yx~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-28 11:05:12,942 INFO L272 TraceCheckUtils]: 37: Hoare triple {2280#(and (= main_~xy~0 0) (<= main_~X~0 10) (= (* main_~Y~0 2) main_~yx~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:12,942 INFO L290 TraceCheckUtils]: 38: Hoare triple {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2288#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:12,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {2288#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:05:12,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:05:12,943 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:05:12,943 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:15,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:05:15,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {2288#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:05:15,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2288#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:15,048 INFO L272 TraceCheckUtils]: 37: Hoare triple {2304#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2284#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:15,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {2308#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2304#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:05:15,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {2312#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2308#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:05:15,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2312#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:05:15,051 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:05:15,051 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2155#true} {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:05:15,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:15,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:05:15,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:05:15,052 INFO L272 TraceCheckUtils]: 28: Hoare triple {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:15,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:05:15,053 INFO L290 TraceCheckUtils]: 26: Hoare triple {2341#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2316#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:05:15,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {2345#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2341#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:05:15,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {2345#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} assume !!(~x~0 <= ~X~0); {2345#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} is VALID [2022-04-28 11:05:15,055 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} {2352#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2345#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)))} is VALID [2022-04-28 11:05:15,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:15,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {2362#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:15,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2362#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:05:15,056 INFO L272 TraceCheckUtils]: 19: Hoare triple {2352#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:15,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {2369#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2352#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:05:15,057 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2369#(or (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) 0)) (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:05:15,057 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-28 11:05:15,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:05:15,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:05:15,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:05:15,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-28 11:05:15,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:05:15,061 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:05:15,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:15,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [756476951] [2022-04-28 11:05:15,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:15,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [640147063] [2022-04-28 11:05:15,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [640147063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:15,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:15,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 26 [2022-04-28 11:05:15,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:15,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2139441869] [2022-04-28 11:05:15,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2139441869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:15,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:15,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:05:15,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1903499091] [2022-04-28 11:05:15,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:15,062 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 11:05:15,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:15,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:05:15,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:15,104 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:05:15,104 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:15,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:05:15,105 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:05:15,105 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:05:15,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:15,991 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-28 11:05:15,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:05:15,992 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 11:05:15,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:15,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:05:15,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-04-28 11:05:15,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:05:15,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-04-28 11:05:15,995 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 58 transitions. [2022-04-28 11:05:16,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:16,047 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:05:16,047 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 11:05:16,047 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 55 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 182 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=130, Invalid=740, Unknown=0, NotChecked=0, Total=870 [2022-04-28 11:05:16,047 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 40 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:16,048 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 146 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 399 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:05:16,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 11:05:16,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-28 11:05:16,126 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:16,126 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:16,126 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:16,126 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:16,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:16,128 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:05:16,128 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:05:16,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:16,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:16,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-28 11:05:16,128 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-28 11:05:16,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:16,130 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:05:16,130 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:05:16,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:16,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:16,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:16,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:16,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:16,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-28 11:05:16,132 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-28 11:05:16,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:16,132 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-28 11:05:16,132 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.7333333333333334) internal successors, (26), 15 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:05:16,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-28 11:05:16,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:16,210 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 11:05:16,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:05:16,211 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:16,211 INFO L195 NwaCegarLoop]: 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-28 11:05:16,229 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 11:05:16,411 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:16,411 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:16,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:16,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-28 11:05:16,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:16,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [233828702] [2022-04-28 11:05:16,412 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:16,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-28 11:05:16,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:16,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915417949] [2022-04-28 11:05:16,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:16,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:16,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:16,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1307764461] [2022-04-28 11:05:16,426 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:16,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:16,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:16,432 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:05:16,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 11:05:16,468 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:16,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:16,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:05:16,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:16,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:16,812 INFO L272 TraceCheckUtils]: 0: Hoare triple {2780#true} call ULTIMATE.init(); {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {2780#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2780#true} {2780#true} #69#return; {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {2780#true} call #t~ret8 := main(); {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {2780#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L272 TraceCheckUtils]: 6: Hoare triple {2780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:16,812 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2780#true} {2780#true} #61#return; {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {2780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L272 TraceCheckUtils]: 12: Hoare triple {2780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2780#true} {2780#true} #63#return; {2780#true} is VALID [2022-04-28 11:05:16,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {2780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,814 INFO L272 TraceCheckUtils]: 19: Hoare triple {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:16,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:16,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:16,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:16,815 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2780#true} {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {2836#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2861#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {2861#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,817 INFO L290 TraceCheckUtils]: 27: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:05:16,818 INFO L272 TraceCheckUtils]: 28: Hoare triple {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:16,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {2780#true} ~cond := #in~cond; {2876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:16,818 INFO L290 TraceCheckUtils]: 30: Hoare triple {2876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:16,818 INFO L290 TraceCheckUtils]: 31: Hoare triple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:16,819 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} {2869#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,824 INFO L290 TraceCheckUtils]: 33: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:05:16,826 INFO L290 TraceCheckUtils]: 34: Hoare triple {2865#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-28 11:05:16,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2897#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 2))} is VALID [2022-04-28 11:05:16,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {2897#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2901#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:05:16,835 INFO L272 TraceCheckUtils]: 37: Hoare triple {2901#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:16,838 INFO L290 TraceCheckUtils]: 38: Hoare triple {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2909#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:16,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {2909#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2781#false} is VALID [2022-04-28 11:05:16,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {2781#false} assume !false; {2781#false} is VALID [2022-04-28 11:05:16,838 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:05:16,838 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:23,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {2781#false} assume !false; {2781#false} is VALID [2022-04-28 11:05:23,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {2909#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2781#false} is VALID [2022-04-28 11:05:23,134 INFO L290 TraceCheckUtils]: 38: Hoare triple {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2909#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:23,134 INFO L272 TraceCheckUtils]: 37: Hoare triple {2925#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2905#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:23,135 INFO L290 TraceCheckUtils]: 36: Hoare triple {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2925#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:05:23,144 INFO L290 TraceCheckUtils]: 35: Hoare triple {2933#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:05:23,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2933#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:05:23,146 INFO L290 TraceCheckUtils]: 33: Hoare triple {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:05:23,147 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} {2943#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2929#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:05:23,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:23,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {2953#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:23,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {2780#true} ~cond := #in~cond; {2953#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:05:23,148 INFO L272 TraceCheckUtils]: 28: Hoare triple {2943#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:23,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {2780#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2943#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:05:23,148 INFO L290 TraceCheckUtils]: 26: Hoare triple {2780#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2780#true} is VALID [2022-04-28 11:05:23,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {2780#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2780#true} is VALID [2022-04-28 11:05:23,148 INFO L290 TraceCheckUtils]: 24: Hoare triple {2780#true} assume !!(~x~0 <= ~X~0); {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2780#true} {2780#true} #65#return; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L272 TraceCheckUtils]: 19: Hoare triple {2780#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {2780#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {2780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2780#true} {2780#true} #63#return; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L272 TraceCheckUtils]: 12: Hoare triple {2780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 11: Hoare triple {2780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2780#true} {2780#true} #61#return; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:23,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {2780#true} assume !(0 == ~cond); {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {2780#true} ~cond := #in~cond; {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L272 TraceCheckUtils]: 6: Hoare triple {2780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {2780#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {2780#true} call #t~ret8 := main(); {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2780#true} {2780#true} #69#return; {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {2780#true} assume true; {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {2780#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2780#true} is VALID [2022-04-28 11:05:23,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {2780#true} call ULTIMATE.init(); {2780#true} is VALID [2022-04-28 11:05:23,150 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-28 11:05:23,150 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:23,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1915417949] [2022-04-28 11:05:23,150 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:23,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1307764461] [2022-04-28 11:05:23,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1307764461] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:23,150 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:23,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:05:23,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:23,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [233828702] [2022-04-28 11:05:23,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [233828702] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:23,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:23,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:05:23,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [152642906] [2022-04-28 11:05:23,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:23,151 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:05:23,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:23,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:23,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:23,179 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:05:23,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:23,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:05:23,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:05:23,179 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:23,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:23,991 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 11:05:23,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:05:23,991 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:05:23,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:23,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:23,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:05:23,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:23,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:05:23,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 11:05:24,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:24,036 INFO L225 Difference]: With dead ends: 72 [2022-04-28 11:05:24,036 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 11:05:24,036 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:05:24,037 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 318 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:24,037 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 170 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:05:24,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 11:05:24,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 11:05:24,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:24,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:24,118 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:24,118 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:24,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:24,119 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:05:24,119 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:05:24,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:24,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:24,120 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-28 11:05:24,120 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-28 11:05:24,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:24,121 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:05:24,121 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:05:24,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:24,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:24,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:24,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:24,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:05:24,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-28 11:05:24,123 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-28 11:05:24,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:24,123 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-28 11:05:24,123 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:05:24,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-28 11:05:24,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:24,204 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 11:05:24,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:05:24,205 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:24,205 INFO L195 NwaCegarLoop]: 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-28 11:05:24,220 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-28 11:05:24,415 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:24,415 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:24,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:24,416 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-28 11:05:24,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:24,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1764417361] [2022-04-28 11:05:24,416 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:24,416 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-28 11:05:24,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:24,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1409254394] [2022-04-28 11:05:24,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:24,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:24,436 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:24,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1354843664] [2022-04-28 11:05:24,436 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:05:24,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:24,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:24,437 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:05:24,438 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 11:05:24,468 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:05:24,468 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:24,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:05:24,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:24,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:44,031 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:05:50,596 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:05:56,072 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:05:56,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {3451#true} call ULTIMATE.init(); {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3451#true} {3451#true} #69#return; {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {3451#true} call #t~ret8 := main(); {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {3451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3451#true} is VALID [2022-04-28 11:05:56,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {3451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 7: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3451#true} {3451#true} #61#return; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {3451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L272 TraceCheckUtils]: 12: Hoare triple {3451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3451#true} {3451#true} #63#return; {3451#true} is VALID [2022-04-28 11:05:56,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {3451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:05:56,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:05:56,414 INFO L272 TraceCheckUtils]: 19: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:05:56,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:05:56,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:05:56,414 INFO L290 TraceCheckUtils]: 22: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:05:56,415 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3451#true} {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:05:56,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:05:56,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {3507#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3532#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:56,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {3532#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3536#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:56,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:56,417 INFO L272 TraceCheckUtils]: 28: Hoare triple {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:05:56,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {3451#true} ~cond := #in~cond; {3547#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:56,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {3547#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:56,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:05:56,419 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} {3540#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {3558#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:56,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {3558#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {3558#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:56,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {3558#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3565#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (* (* main_~X~0 main_~y~0) 2))))} is VALID [2022-04-28 11:05:56,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {3565#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (* (* main_~X~0 main_~y~0) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3569#(and (= (+ (- 2) main_~x~0) 0) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-28 11:05:56,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {3569#(and (= (+ (- 2) main_~x~0) 0) (not (< (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3573#(and (= (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (= (* main_~X~0 (div main_~X~0 main_~X~0)) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) (+ main_~X~0 (* main_~Y~0 2))) (< (* main_~Y~0 4) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0)))} is VALID [2022-04-28 11:05:56,424 INFO L272 TraceCheckUtils]: 37: Hoare triple {3573#(and (= (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (= (* main_~X~0 (div main_~X~0 main_~X~0)) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) (+ main_~X~0 (* main_~Y~0 2))) (< (* main_~Y~0 4) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:56,424 INFO L290 TraceCheckUtils]: 38: Hoare triple {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:56,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {3581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3452#false} is VALID [2022-04-28 11:05:56,425 INFO L290 TraceCheckUtils]: 40: Hoare triple {3452#false} assume !false; {3452#false} is VALID [2022-04-28 11:05:56,425 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:05:56,425 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:00,142 INFO L290 TraceCheckUtils]: 40: Hoare triple {3452#false} assume !false; {3452#false} is VALID [2022-04-28 11:06:00,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {3581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3452#false} is VALID [2022-04-28 11:06:00,142 INFO L290 TraceCheckUtils]: 38: Hoare triple {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:00,143 INFO L272 TraceCheckUtils]: 37: Hoare triple {3597#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:00,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {3601#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3597#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:00,145 INFO L290 TraceCheckUtils]: 35: Hoare triple {3605#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3601#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:00,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {3609#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3605#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:06:00,146 INFO L290 TraceCheckUtils]: 33: Hoare triple {3609#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {3609#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:00,147 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} {3616#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {3609#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:00,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:00,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {3626#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3551#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:00,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {3451#true} ~cond := #in~cond; {3626#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:00,148 INFO L272 TraceCheckUtils]: 28: Hoare triple {3616#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {3451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3616#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {3451#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {3451#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {3451#true} assume !!(~x~0 <= ~X~0); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3451#true} {3451#true} #65#return; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L272 TraceCheckUtils]: 19: Hoare triple {3451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {3451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {3451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3451#true} {3451#true} #63#return; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L272 TraceCheckUtils]: 12: Hoare triple {3451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L290 TraceCheckUtils]: 11: Hoare triple {3451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3451#true} is VALID [2022-04-28 11:06:00,149 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3451#true} {3451#true} #61#return; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {3451#true} assume !(0 == ~cond); {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {3451#true} ~cond := #in~cond; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L272 TraceCheckUtils]: 6: Hoare triple {3451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {3451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {3451#true} call #t~ret8 := main(); {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3451#true} {3451#true} #69#return; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume true; {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3451#true} is VALID [2022-04-28 11:06:00,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {3451#true} call ULTIMATE.init(); {3451#true} is VALID [2022-04-28 11:06:00,150 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-28 11:06:00,150 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:00,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1409254394] [2022-04-28 11:06:00,150 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:00,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1354843664] [2022-04-28 11:06:00,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1354843664] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:00,151 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:00,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 11:06:00,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:00,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1764417361] [2022-04-28 11:06:00,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1764417361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:00,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:00,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:06:00,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [164617137] [2022-04-28 11:06:00,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:00,151 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:06:00,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:00,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:00,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:00,181 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:06:00,181 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:00,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:06:00,181 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:06:00,182 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:01,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:01,407 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-28 11:06:01,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:06:01,407 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:06:01,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:01,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:01,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:06:01,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:01,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:06:01,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-28 11:06:01,474 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:01,475 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:06:01,475 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 11:06:01,475 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:06:01,476 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:01,476 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 184 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:06:01,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 11:06:01,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-28 11:06:01,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:01,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:01,575 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:01,575 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:01,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:01,576 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:06:01,576 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:06:01,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:01,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:01,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 11:06:01,577 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 11:06:01,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:01,578 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:06:01,578 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:06:01,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:01,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:01,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:01,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:01,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:01,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:06:01,580 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:06:01,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:01,580 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:06:01,580 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:01,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:06:01,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:01,695 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:06:01,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:06:01,695 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:01,695 INFO L195 NwaCegarLoop]: 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-28 11:06:01,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:01,911 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:01,911 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:01,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:01,911 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 11:06:01,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:01,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1910263357] [2022-04-28 11:06:01,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:01,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 11:06:01,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:01,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1578185018] [2022-04-28 11:06:01,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:01,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:01,921 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:01,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [852624369] [2022-04-28 11:06:01,921 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:06:01,921 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:01,921 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:01,922 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:01,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 11:06:01,959 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:06:01,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:01,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 11:06:01,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:01,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:02,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {4188#true} call ULTIMATE.init(); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {4188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4188#true} {4188#true} #69#return; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {4188#true} call #t~ret8 := main(); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {4188#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L272 TraceCheckUtils]: 6: Hoare triple {4188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4188#true} {4188#true} #61#return; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {4188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L272 TraceCheckUtils]: 12: Hoare triple {4188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,276 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4188#true} {4188#true} #63#return; {4188#true} is VALID [2022-04-28 11:06:02,276 INFO L290 TraceCheckUtils]: 17: Hoare triple {4188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:02,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:02,276 INFO L272 TraceCheckUtils]: 19: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,277 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4188#true} {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:02,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:02,278 INFO L290 TraceCheckUtils]: 25: Hoare triple {4244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4269#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:02,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {4269#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:02,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:02,279 INFO L272 TraceCheckUtils]: 28: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,279 INFO L290 TraceCheckUtils]: 29: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,280 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4188#true} {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:02,281 INFO L290 TraceCheckUtils]: 33: Hoare triple {4273#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4295#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:02,281 INFO L290 TraceCheckUtils]: 34: Hoare triple {4295#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4299#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-28 11:06:02,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {4299#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4303#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:06:02,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {4303#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4307#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} is VALID [2022-04-28 11:06:02,283 INFO L272 TraceCheckUtils]: 37: Hoare triple {4307#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:02,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4315#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:02,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {4315#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4189#false} is VALID [2022-04-28 11:06:02,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {4189#false} assume !false; {4189#false} is VALID [2022-04-28 11:06:02,284 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:06:02,284 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:02,657 INFO L290 TraceCheckUtils]: 40: Hoare triple {4189#false} assume !false; {4189#false} is VALID [2022-04-28 11:06:02,657 INFO L290 TraceCheckUtils]: 39: Hoare triple {4315#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4189#false} is VALID [2022-04-28 11:06:02,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4315#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:02,658 INFO L272 TraceCheckUtils]: 37: Hoare triple {4331#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4311#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:02,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4331#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:02,660 INFO L290 TraceCheckUtils]: 35: Hoare triple {4339#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:02,661 INFO L290 TraceCheckUtils]: 34: Hoare triple {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4339#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:06:02,662 INFO L290 TraceCheckUtils]: 33: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4335#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:02,662 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4188#true} {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:06:02,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,663 INFO L272 TraceCheckUtils]: 28: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:06:02,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {4368#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4346#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:06:02,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4368#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:02,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:06:02,667 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4188#true} {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:06:02,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,667 INFO L272 TraceCheckUtils]: 19: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {4188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4372#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:06:02,668 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4188#true} {4188#true} #63#return; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {4188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {4188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4188#true} {4188#true} #61#return; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {4188#true} assume !(0 == ~cond); {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {4188#true} ~cond := #in~cond; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {4188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {4188#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {4188#true} call #t~ret8 := main(); {4188#true} is VALID [2022-04-28 11:06:02,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4188#true} {4188#true} #69#return; {4188#true} is VALID [2022-04-28 11:06:02,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {4188#true} assume true; {4188#true} is VALID [2022-04-28 11:06:02,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {4188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4188#true} is VALID [2022-04-28 11:06:02,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {4188#true} call ULTIMATE.init(); {4188#true} is VALID [2022-04-28 11:06:02,669 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:06:02,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:02,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1578185018] [2022-04-28 11:06:02,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:02,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [852624369] [2022-04-28 11:06:02,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [852624369] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:02,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:02,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 17 [2022-04-28 11:06:02,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:02,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1910263357] [2022-04-28 11:06:02,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1910263357] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:02,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:02,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:06:02,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1222926515] [2022-04-28 11:06:02,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:02,670 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:06:02,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:02,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:02,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:02,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:06:02,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:02,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:06:02,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:06:02,696 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:03,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:03,395 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-28 11:06:03,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:06:03,395 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:06:03,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:03,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:03,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:06:03,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:03,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:06:03,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-28 11:06:03,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:03,442 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:06:03,442 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 11:06:03,443 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 62 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=65, Invalid=277, Unknown=0, NotChecked=0, Total=342 [2022-04-28 11:06:03,443 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:03,443 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:06:03,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 11:06:03,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-28 11:06:03,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:03,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:03,559 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:03,561 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:03,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:03,566 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:06:03,567 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:06:03,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:03,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:03,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:06:03,567 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:06:03,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:03,569 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:06:03,569 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:06:03,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:03,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:03,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:03,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:03,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:03,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:06:03,575 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:06:03,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:03,576 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:06:03,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:06:03,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:06:03,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:03,692 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:06:03,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:06:03,692 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:03,692 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:06:03,708 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:03,892 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 11:06:03,893 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:03,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:03,893 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-28 11:06:03,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:03,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [560585892] [2022-04-28 11:06:03,893 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:03,893 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-28 11:06:03,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:03,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [978595154] [2022-04-28 11:06:03,894 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:03,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:03,903 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:03,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [885286412] [2022-04-28 11:06:03,903 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:06:03,903 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:03,903 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:03,904 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:03,905 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 11:06:03,951 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:06:03,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:03,951 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 11:06:03,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:03,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:04,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {4940#true} call ULTIMATE.init(); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {4940#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4940#true} {4940#true} #69#return; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {4940#true} call #t~ret8 := main(); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {4940#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L272 TraceCheckUtils]: 6: Hoare triple {4940#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4940#true} {4940#true} #61#return; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {4940#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L272 TraceCheckUtils]: 12: Hoare triple {4940#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,621 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4940#true} {4940#true} #63#return; {4940#true} is VALID [2022-04-28 11:06:04,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {4940#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:04,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:04,621 INFO L272 TraceCheckUtils]: 19: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,622 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4940#true} {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:04,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:06:04,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {4996#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5021#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:06:04,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {5021#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:06:04,624 INFO L290 TraceCheckUtils]: 27: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:06:04,624 INFO L272 TraceCheckUtils]: 28: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,624 INFO L290 TraceCheckUtils]: 30: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,625 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4940#true} {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:06:04,625 INFO L290 TraceCheckUtils]: 33: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:06:04,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {5025#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5050#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:06:04,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {5050#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:06:04,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:06:04,627 INFO L272 TraceCheckUtils]: 37: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,627 INFO L290 TraceCheckUtils]: 38: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,627 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4940#true} {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:06:04,628 INFO L290 TraceCheckUtils]: 42: Hoare triple {5054#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {4941#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L272 TraceCheckUtils]: 44: Hoare triple {4941#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L290 TraceCheckUtils]: 45: Hoare triple {4941#false} ~cond := #in~cond; {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L290 TraceCheckUtils]: 46: Hoare triple {4941#false} assume 0 == ~cond; {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L290 TraceCheckUtils]: 47: Hoare triple {4941#false} assume !false; {4941#false} is VALID [2022-04-28 11:06:04,628 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:06:04,628 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:04,884 INFO L290 TraceCheckUtils]: 47: Hoare triple {4941#false} assume !false; {4941#false} is VALID [2022-04-28 11:06:04,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {4941#false} assume 0 == ~cond; {4941#false} is VALID [2022-04-28 11:06:04,884 INFO L290 TraceCheckUtils]: 45: Hoare triple {4941#false} ~cond := #in~cond; {4941#false} is VALID [2022-04-28 11:06:04,884 INFO L272 TraceCheckUtils]: 44: Hoare triple {4941#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4941#false} is VALID [2022-04-28 11:06:04,884 INFO L290 TraceCheckUtils]: 43: Hoare triple {4941#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4941#false} is VALID [2022-04-28 11:06:04,884 INFO L290 TraceCheckUtils]: 42: Hoare triple {5106#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4941#false} is VALID [2022-04-28 11:06:04,885 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4940#true} {5106#(<= main_~x~0 main_~X~0)} #65#return; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:04,885 INFO L290 TraceCheckUtils]: 40: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,885 INFO L290 TraceCheckUtils]: 39: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,885 INFO L290 TraceCheckUtils]: 38: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,885 INFO L272 TraceCheckUtils]: 37: Hoare triple {5106#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {5106#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:04,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {5128#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5106#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:06:04,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5128#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:06:04,897 INFO L290 TraceCheckUtils]: 33: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:04,897 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4940#true} {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:04,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,898 INFO L272 TraceCheckUtils]: 28: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:04,899 INFO L290 TraceCheckUtils]: 26: Hoare triple {5157#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5132#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:04,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5157#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:06:04,900 INFO L290 TraceCheckUtils]: 24: Hoare triple {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:04,900 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4940#true} {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:04,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,900 INFO L272 TraceCheckUtils]: 19: Hoare triple {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:04,901 INFO L290 TraceCheckUtils]: 17: Hoare triple {4940#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5161#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:06:04,902 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4940#true} {4940#true} #63#return; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L272 TraceCheckUtils]: 12: Hoare triple {4940#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {4940#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4940#true} {4940#true} #61#return; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {4940#true} assume !(0 == ~cond); {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {4940#true} ~cond := #in~cond; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {4940#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {4940#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {4940#true} call #t~ret8 := main(); {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4940#true} {4940#true} #69#return; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {4940#true} assume true; {4940#true} is VALID [2022-04-28 11:06:04,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {4940#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4940#true} is VALID [2022-04-28 11:06:04,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {4940#true} call ULTIMATE.init(); {4940#true} is VALID [2022-04-28 11:06:04,903 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:06:04,903 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:04,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [978595154] [2022-04-28 11:06:04,903 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:04,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [885286412] [2022-04-28 11:06:04,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [885286412] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:04,903 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:04,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 11:06:04,903 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:04,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [560585892] [2022-04-28 11:06:04,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [560585892] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:04,903 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:04,904 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 11:06:04,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [803441674] [2022-04-28 11:06:04,904 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:04,904 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:06:04,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:04,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:04,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:04,932 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 11:06:04,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:04,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 11:06:04,932 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:06:04,933 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:05,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:05,282 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 11:06:05,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 11:06:05,283 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:06:05,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:05,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:05,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:06:05,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:05,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:06:05,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-28 11:06:05,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:05,324 INFO L225 Difference]: With dead ends: 87 [2022-04-28 11:06:05,324 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 11:06:05,324 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:06:05,325 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:05,325 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:06:05,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 11:06:05,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-28 11:06:05,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:05,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:05,453 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:05,453 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:05,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:05,454 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:06:05,454 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:06:05,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:05,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:05,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 11:06:05,455 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 11:06:05,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:05,456 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:06:05,456 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:06:05,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:05,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:05,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:05,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:05,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:05,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-28 11:06:05,457 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-28 11:06:05,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:05,457 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-28 11:06:05,458 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:05,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-28 11:06:05,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:05,590 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-28 11:06:05,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:06:05,591 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:05,591 INFO L195 NwaCegarLoop]: 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-28 11:06:05,606 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:05,792 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 11:06:05,792 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:05,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:05,792 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 11:06:05,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:05,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2055095609] [2022-04-28 11:06:05,793 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:05,793 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 11:06:05,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:05,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936934783] [2022-04-28 11:06:05,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:05,793 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:05,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:05,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1314789344] [2022-04-28 11:06:05,810 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:06:05,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:05,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:05,810 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:05,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 11:06:05,848 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:06:05,848 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:05,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:06:05,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:05,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:06,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {5723#true} call ULTIMATE.init(); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {5723#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5723#true} {5723#true} #69#return; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {5723#true} call #t~ret8 := main(); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {5723#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {5723#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5723#true} {5723#true} #61#return; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 11: Hoare triple {5723#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L272 TraceCheckUtils]: 12: Hoare triple {5723#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:06,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:06,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:06,499 INFO L290 TraceCheckUtils]: 15: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:06,499 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5723#true} {5723#true} #63#return; {5723#true} is VALID [2022-04-28 11:06:06,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {5723#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:06,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:06,499 INFO L272 TraceCheckUtils]: 19: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:06,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:06,500 INFO L290 TraceCheckUtils]: 21: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:06,500 INFO L290 TraceCheckUtils]: 22: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:06,500 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5723#true} {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:06,500 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:06,501 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5804#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:06,501 INFO L290 TraceCheckUtils]: 26: Hoare triple {5804#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:06,502 INFO L290 TraceCheckUtils]: 27: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:06,502 INFO L272 TraceCheckUtils]: 28: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:06,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {5723#true} ~cond := #in~cond; {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:06,502 INFO L290 TraceCheckUtils]: 30: Hoare triple {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:06,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:06,503 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:06,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {5808#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {5832#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:06:06,504 INFO L290 TraceCheckUtils]: 34: Hoare triple {5832#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5836#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= main_~x~0 1))} is VALID [2022-04-28 11:06:06,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {5836#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:06:06,505 INFO L290 TraceCheckUtils]: 36: Hoare triple {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:06:06,505 INFO L272 TraceCheckUtils]: 37: Hoare triple {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:06,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {5723#true} ~cond := #in~cond; {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:06,505 INFO L290 TraceCheckUtils]: 39: Hoare triple {5818#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:06,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:06,506 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5844#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:06:06,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {5840#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5863#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:06:06,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {5863#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5867#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} is VALID [2022-04-28 11:06:06,508 INFO L272 TraceCheckUtils]: 44: Hoare triple {5867#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:06,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5875#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:06,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {5875#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5724#false} is VALID [2022-04-28 11:06:06,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {5724#false} assume !false; {5724#false} is VALID [2022-04-28 11:06:06,509 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:06:06,509 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:07,096 INFO L290 TraceCheckUtils]: 47: Hoare triple {5724#false} assume !false; {5724#false} is VALID [2022-04-28 11:06:07,096 INFO L290 TraceCheckUtils]: 46: Hoare triple {5875#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5724#false} is VALID [2022-04-28 11:06:07,097 INFO L290 TraceCheckUtils]: 45: Hoare triple {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5875#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:07,097 INFO L272 TraceCheckUtils]: 44: Hoare triple {5891#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5871#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:07,098 INFO L290 TraceCheckUtils]: 43: Hoare triple {5895#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5891#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:07,099 INFO L290 TraceCheckUtils]: 42: Hoare triple {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5895#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:06:07,099 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:06:07,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {5913#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5822#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {5723#true} ~cond := #in~cond; {5913#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:07,100 INFO L272 TraceCheckUtils]: 37: Hoare triple {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:07,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {5920#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5903#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:06:07,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5920#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:06:07,182 INFO L290 TraceCheckUtils]: 34: Hoare triple {5928#(or (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5924#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:06:07,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {5723#true} assume !!(~x~0 <= ~X~0); {5928#(or (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:07,185 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5723#true} {5723#true} #65#return; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 30: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L272 TraceCheckUtils]: 28: Hoare triple {5723#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 27: Hoare triple {5723#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 26: Hoare triple {5723#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {5723#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {5723#true} assume !!(~x~0 <= ~X~0); {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5723#true} {5723#true} #65#return; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L272 TraceCheckUtils]: 19: Hoare triple {5723#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {5723#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {5723#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5723#true} is VALID [2022-04-28 11:06:07,185 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5723#true} {5723#true} #63#return; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L272 TraceCheckUtils]: 12: Hoare triple {5723#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 11: Hoare triple {5723#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5723#true} {5723#true} #61#return; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 8: Hoare triple {5723#true} assume !(0 == ~cond); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {5723#true} ~cond := #in~cond; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {5723#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {5723#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {5723#true} call #t~ret8 := main(); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5723#true} {5723#true} #69#return; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {5723#true} assume true; {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {5723#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5723#true} is VALID [2022-04-28 11:06:07,186 INFO L272 TraceCheckUtils]: 0: Hoare triple {5723#true} call ULTIMATE.init(); {5723#true} is VALID [2022-04-28 11:06:07,187 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-28 11:06:07,187 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:07,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [936934783] [2022-04-28 11:06:07,187 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:07,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1314789344] [2022-04-28 11:06:07,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1314789344] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:07,187 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:07,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-28 11:06:07,187 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:07,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2055095609] [2022-04-28 11:06:07,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2055095609] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:07,187 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:07,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:06:07,187 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531259876] [2022-04-28 11:06:07,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:07,188 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:06:07,188 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:07,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:07,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:07,218 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:06:07,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:07,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:06:07,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=424, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:06:07,218 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:08,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:08,310 INFO L93 Difference]: Finished difference Result 90 states and 98 transitions. [2022-04-28 11:06:08,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:06:08,310 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:06:08,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:08,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:08,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 11:06:08,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:08,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 11:06:08,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-28 11:06:08,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:08,366 INFO L225 Difference]: With dead ends: 90 [2022-04-28 11:06:08,366 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 11:06:08,366 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=114, Invalid=588, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:06:08,367 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 15 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 357 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 357 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:08,367 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 192 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 357 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:06:08,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 11:06:08,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 73. [2022-04-28 11:06:08,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:08,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:08,482 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:08,482 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:08,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:08,483 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-28 11:06:08,483 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-28 11:06:08,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:08,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:08,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-28 11:06:08,484 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-28 11:06:08,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:08,485 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-28 11:06:08,485 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-28 11:06:08,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:08,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:08,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:08,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:08,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:08,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:06:08,487 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-28 11:06:08,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:08,487 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:06:08,487 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:08,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:06:08,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:08,612 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:06:08,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:06:08,612 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:08,612 INFO L195 NwaCegarLoop]: 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-28 11:06:08,630 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:08,813 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 11:06:08,813 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:08,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:08,813 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-28 11:06:08,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:08,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [896168789] [2022-04-28 11:06:08,814 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:08,814 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-28 11:06:08,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:08,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [4444183] [2022-04-28 11:06:08,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:08,814 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:08,822 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:08,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2141910523] [2022-04-28 11:06:08,822 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:06:08,822 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:08,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:08,823 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:08,824 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 11:06:08,863 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:06:08,863 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:08,864 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 11:06:08,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:08,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:14,162 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:16,692 INFO L272 TraceCheckUtils]: 0: Hoare triple {6531#true} call ULTIMATE.init(); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {6531#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6531#true} {6531#true} #69#return; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {6531#true} call #t~ret8 := main(); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {6531#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L272 TraceCheckUtils]: 6: Hoare triple {6531#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6531#true} {6531#true} #61#return; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {6531#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L272 TraceCheckUtils]: 12: Hoare triple {6531#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:16,693 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6531#true} {6531#true} #63#return; {6531#true} is VALID [2022-04-28 11:06:16,694 INFO L290 TraceCheckUtils]: 17: Hoare triple {6531#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,694 INFO L272 TraceCheckUtils]: 19: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:16,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:16,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:16,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:16,695 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6531#true} {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {6587#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:06:16,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:06:16,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:06:16,696 INFO L272 TraceCheckUtils]: 28: Hoare triple {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:16,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {6531#true} ~cond := #in~cond; {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:16,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:16,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:16,698 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6619#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:06:16,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:06:16,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {6612#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {6643#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:06:16,699 INFO L272 TraceCheckUtils]: 37: Hoare triple {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:16,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {6531#true} ~cond := #in~cond; {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:16,700 INFO L290 TraceCheckUtils]: 39: Hoare triple {6626#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:16,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:16,701 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6650#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:16,702 INFO L290 TraceCheckUtils]: 43: Hoare triple {6666#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6673#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:06:16,707 INFO L290 TraceCheckUtils]: 44: Hoare triple {6673#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6677#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:06:16,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {6677#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6681#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:06:16,711 INFO L272 TraceCheckUtils]: 46: Hoare triple {6681#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:16,711 INFO L290 TraceCheckUtils]: 47: Hoare triple {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:16,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {6689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6532#false} is VALID [2022-04-28 11:06:16,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {6532#false} assume !false; {6532#false} is VALID [2022-04-28 11:06:16,712 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-28 11:06:16,712 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:21,933 INFO L290 TraceCheckUtils]: 49: Hoare triple {6532#false} assume !false; {6532#false} is VALID [2022-04-28 11:06:21,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {6689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6532#false} is VALID [2022-04-28 11:06:21,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:21,935 INFO L272 TraceCheckUtils]: 46: Hoare triple {6705#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:21,935 INFO L290 TraceCheckUtils]: 45: Hoare triple {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6705#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:21,937 INFO L290 TraceCheckUtils]: 44: Hoare triple {6713#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:21,938 INFO L290 TraceCheckUtils]: 43: Hoare triple {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6713#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:06:21,938 INFO L290 TraceCheckUtils]: 42: Hoare triple {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:21,939 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} {6723#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {6709#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:21,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:21,939 INFO L290 TraceCheckUtils]: 39: Hoare triple {6733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6630#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:21,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {6531#true} ~cond := #in~cond; {6733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:21,940 INFO L272 TraceCheckUtils]: 37: Hoare triple {6723#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:21,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6723#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {6531#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {6531#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 33: Hoare triple {6531#true} assume !!(~x~0 <= ~X~0); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6531#true} {6531#true} #65#return; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L272 TraceCheckUtils]: 28: Hoare triple {6531#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {6531#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {6531#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 24: Hoare triple {6531#true} assume !!(~x~0 <= ~X~0); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6531#true} {6531#true} #65#return; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 21: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L272 TraceCheckUtils]: 19: Hoare triple {6531#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:21,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {6531#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {6531#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6531#true} {6531#true} #63#return; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L272 TraceCheckUtils]: 12: Hoare triple {6531#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {6531#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6531#true} {6531#true} #61#return; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {6531#true} assume !(0 == ~cond); {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {6531#true} ~cond := #in~cond; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {6531#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {6531#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {6531#true} call #t~ret8 := main(); {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6531#true} {6531#true} #69#return; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {6531#true} assume true; {6531#true} is VALID [2022-04-28 11:06:21,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {6531#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6531#true} is VALID [2022-04-28 11:06:21,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {6531#true} call ULTIMATE.init(); {6531#true} is VALID [2022-04-28 11:06:21,943 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-28 11:06:21,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:21,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [4444183] [2022-04-28 11:06:21,943 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:21,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2141910523] [2022-04-28 11:06:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2141910523] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:21,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:21,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-28 11:06:21,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:21,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [896168789] [2022-04-28 11:06:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [896168789] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:21,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:21,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:06:21,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [375284913] [2022-04-28 11:06:21,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:21,944 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:06:21,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:21,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:21,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:21,983 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:06:21,983 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:21,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:06:21,984 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=328, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:06:21,984 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:23,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:23,344 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-28 11:06:23,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:06:23,344 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:06:23,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:23,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:23,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:06:23,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:23,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:06:23,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:06:23,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:23,406 INFO L225 Difference]: With dead ends: 88 [2022-04-28 11:06:23,407 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 11:06:23,407 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:06:23,407 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 20 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 390 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 390 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:23,407 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 198 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 390 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:06:23,408 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 11:06:23,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 75. [2022-04-28 11:06:23,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:23,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:23,542 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:23,542 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:23,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:23,544 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:06:23,544 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:06:23,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:23,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:23,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:06:23,544 INFO L87 Difference]: Start difference. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:06:23,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:23,545 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:06:23,545 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:06:23,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:23,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:23,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:23,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:23,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:06:23,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2022-04-28 11:06:23,547 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 50 [2022-04-28 11:06:23,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:23,547 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2022-04-28 11:06:23,547 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:06:23,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 83 transitions. [2022-04-28 11:06:23,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:23,689 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2022-04-28 11:06:23,689 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:06:23,689 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:23,689 INFO L195 NwaCegarLoop]: 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-28 11:06:23,705 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:23,890 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 11:06:23,890 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:23,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:23,890 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-28 11:06:23,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:23,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [228339503] [2022-04-28 11:06:23,891 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:23,891 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-28 11:06:23,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:23,891 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1048989451] [2022-04-28 11:06:23,891 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:23,891 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:23,901 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:23,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1217098731] [2022-04-28 11:06:23,901 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:06:23,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:23,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:23,902 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:23,903 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 11:06:23,947 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:06:23,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:23,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 11:06:23,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:23,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:24,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {7352#true} call ULTIMATE.init(); {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {7352#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7352#true} {7352#true} #69#return; {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {7352#true} call #t~ret8 := main(); {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {7352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7352#true} is VALID [2022-04-28 11:06:24,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {7352#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:24,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {7352#true} ~cond := #in~cond; {7378#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:06:24,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {7378#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7382#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:24,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {7382#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7382#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:24,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7382#(not (= |assume_abort_if_not_#in~cond| 0))} {7352#true} #61#return; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:24,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:24,636 INFO L272 TraceCheckUtils]: 12: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:24,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:24,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:24,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:24,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7352#true} {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:24,637 INFO L290 TraceCheckUtils]: 17: Hoare triple {7389#(and (<= main_~X~0 10) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,637 INFO L272 TraceCheckUtils]: 19: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:24,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:24,637 INFO L290 TraceCheckUtils]: 21: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:24,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:24,638 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7352#true} {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,638 INFO L290 TraceCheckUtils]: 24: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {7411#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7436#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {7436#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,640 INFO L272 TraceCheckUtils]: 28: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:24,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:24,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:24,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:24,640 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7352#true} {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:24,641 INFO L290 TraceCheckUtils]: 34: Hoare triple {7440#(and (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7465#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:06:24,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {7465#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-28 11:06:24,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-28 11:06:24,657 INFO L272 TraceCheckUtils]: 37: Hoare triple {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:24,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {7352#true} ~cond := #in~cond; {7480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:24,657 INFO L290 TraceCheckUtils]: 39: Hoare triple {7480#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:24,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:24,658 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} {7473#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #65#return; {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-28 11:06:24,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {7469#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {7494#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= main_~x~0 2) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-28 11:06:24,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {7494#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= main_~x~0 2) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7498#(and (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-28 11:06:24,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {7498#(and (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7502#(and (= main_~x~0 3) (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:06:24,661 INFO L290 TraceCheckUtils]: 45: Hoare triple {7502#(and (= main_~x~0 3) (<= main_~X~0 10) (= main_~y~0 1) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7506#(and (<= main_~X~0 10) (= (* main_~Y~0 3) main_~yx~0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:06:24,662 INFO L272 TraceCheckUtils]: 46: Hoare triple {7506#(and (<= main_~X~0 10) (= (* main_~Y~0 3) main_~yx~0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:24,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:24,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7353#false} is VALID [2022-04-28 11:06:24,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {7353#false} assume !false; {7353#false} is VALID [2022-04-28 11:06:24,663 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 25 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 11:06:24,663 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:27,865 INFO L290 TraceCheckUtils]: 49: Hoare triple {7353#false} assume !false; {7353#false} is VALID [2022-04-28 11:06:27,866 INFO L290 TraceCheckUtils]: 48: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7353#false} is VALID [2022-04-28 11:06:27,866 INFO L290 TraceCheckUtils]: 47: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:27,867 INFO L272 TraceCheckUtils]: 46: Hoare triple {7530#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:27,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {7534#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7530#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:27,870 INFO L290 TraceCheckUtils]: 44: Hoare triple {7538#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7534#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:06:27,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {7542#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7538#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:06:27,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {7546#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {7542#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:06:27,873 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} {7550#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {7546#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:06:27,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:27,873 INFO L290 TraceCheckUtils]: 39: Hoare triple {7560#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7484#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:27,873 INFO L290 TraceCheckUtils]: 38: Hoare triple {7352#true} ~cond := #in~cond; {7560#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:27,873 INFO L272 TraceCheckUtils]: 37: Hoare triple {7550#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:27,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7550#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:06:27,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {7352#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7352#true} is VALID [2022-04-28 11:06:27,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {7352#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7352#true} is VALID [2022-04-28 11:06:27,874 INFO L290 TraceCheckUtils]: 33: Hoare triple {7352#true} assume !!(~x~0 <= ~X~0); {7352#true} is VALID [2022-04-28 11:06:27,874 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7352#true} {7352#true} #65#return; {7352#true} is VALID [2022-04-28 11:06:27,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 29: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L272 TraceCheckUtils]: 28: Hoare triple {7352#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {7352#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {7352#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {7352#true} assume !!(~x~0 <= ~X~0); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7352#true} {7352#true} #65#return; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L272 TraceCheckUtils]: 19: Hoare triple {7352#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {7352#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {7352#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7352#true} {7352#true} #63#return; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:27,875 INFO L272 TraceCheckUtils]: 12: Hoare triple {7352#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {7352#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7352#true} {7352#true} #61#return; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 8: Hoare triple {7352#true} assume !(0 == ~cond); {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {7352#true} ~cond := #in~cond; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {7352#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {7352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {7352#true} call #t~ret8 := main(); {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7352#true} {7352#true} #69#return; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {7352#true} assume true; {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {7352#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {7352#true} is VALID [2022-04-28 11:06:27,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {7352#true} call ULTIMATE.init(); {7352#true} is VALID [2022-04-28 11:06:27,876 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-28 11:06:27,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:27,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1048989451] [2022-04-28 11:06:27,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:27,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1217098731] [2022-04-28 11:06:27,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1217098731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:27,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:27,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-28 11:06:27,877 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:27,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [228339503] [2022-04-28 11:06:27,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [228339503] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:27,877 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:27,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 11:06:27,877 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166344005] [2022-04-28 11:06:27,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:27,877 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:06:27,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:27,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:06:27,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:27,915 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 11:06:27,915 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:27,915 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 11:06:27,915 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:06:27,915 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:06:29,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:29,359 INFO L93 Difference]: Finished difference Result 101 states and 113 transitions. [2022-04-28 11:06:29,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:06:29,360 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:06:29,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:29,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:06:29,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2022-04-28 11:06:29,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:06:29,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2022-04-28 11:06:29,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 77 transitions. [2022-04-28 11:06:29,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:29,442 INFO L225 Difference]: With dead ends: 101 [2022-04-28 11:06:29,442 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 11:06:29,443 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=144, Invalid=786, Unknown=0, NotChecked=0, Total=930 [2022-04-28 11:06:29,443 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 28 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 639 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 652 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 639 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:29,443 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 209 Invalid, 652 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 639 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:06:29,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 11:06:29,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-28 11:06:29,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:29,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:29,600 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:29,600 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:29,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:29,602 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-28 11:06:29,602 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 11:06:29,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:29,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:29,602 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 88 states. [2022-04-28 11:06:29,602 INFO L87 Difference]: Start difference. First operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 88 states. [2022-04-28 11:06:29,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:29,603 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-28 11:06:29,603 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 11:06:29,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:29,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:29,604 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:29,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:29,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 64 states have (on average 1.109375) internal successors, (71), 65 states have internal predecessors, (71), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:06:29,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-28 11:06:29,606 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 50 [2022-04-28 11:06:29,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:29,606 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-28 11:06:29,606 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 18 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:06:29,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-28 11:06:29,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:29,766 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 11:06:29,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:06:29,767 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:29,767 INFO L195 NwaCegarLoop]: 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-28 11:06:29,797 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 11:06:29,967 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 11:06:29,967 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:29,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:29,968 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-28 11:06:29,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:29,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [579079170] [2022-04-28 11:06:29,968 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:29,968 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-28 11:06:29,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:29,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1712528482] [2022-04-28 11:06:29,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:29,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:29,977 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:29,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [933682319] [2022-04-28 11:06:29,977 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:06:29,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:29,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:29,978 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:06:29,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 11:06:30,015 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:06:30,016 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:30,017 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:06:30,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:30,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:44,977 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:50,701 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:55,999 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:07:06,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {8241#true} call ULTIMATE.init(); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {8241#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8241#true} {8241#true} #69#return; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {8241#true} call #t~ret8 := main(); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {8241#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {8241#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8241#true} {8241#true} #61#return; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {8241#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L272 TraceCheckUtils]: 12: Hoare triple {8241#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:06,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8241#true} {8241#true} #63#return; {8241#true} is VALID [2022-04-28 11:07:06,396 INFO L290 TraceCheckUtils]: 17: Hoare triple {8241#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:06,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:06,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:06,396 INFO L290 TraceCheckUtils]: 22: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:06,397 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8241#true} {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {8297#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:07:06,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {8322#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:06,399 INFO L272 TraceCheckUtils]: 28: Hoare triple {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:06,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {8241#true} ~cond := #in~cond; {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:06,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:06,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:06,401 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8329#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 11:07:06,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 11:07:06,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {8347#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:07:06,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:07:06,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {8354#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:07:06,402 INFO L272 TraceCheckUtils]: 37: Hoare triple {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:06,403 INFO L290 TraceCheckUtils]: 38: Hoare triple {8241#true} ~cond := #in~cond; {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:06,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {8336#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:06,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:06,404 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8361#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:07:06,405 INFO L290 TraceCheckUtils]: 42: Hoare triple {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:07:06,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {8377#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8384#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:07:06,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {8384#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8388#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:07:08,410 WARN L290 TraceCheckUtils]: 45: Hoare triple {8388#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8392#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is UNKNOWN [2022-04-28 11:07:08,413 INFO L272 TraceCheckUtils]: 46: Hoare triple {8392#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:08,413 INFO L290 TraceCheckUtils]: 47: Hoare triple {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8400#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:08,413 INFO L290 TraceCheckUtils]: 48: Hoare triple {8400#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8242#false} is VALID [2022-04-28 11:07:08,413 INFO L290 TraceCheckUtils]: 49: Hoare triple {8242#false} assume !false; {8242#false} is VALID [2022-04-28 11:07:08,414 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-28 11:07:08,414 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:10,923 INFO L290 TraceCheckUtils]: 49: Hoare triple {8242#false} assume !false; {8242#false} is VALID [2022-04-28 11:07:10,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {8400#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8242#false} is VALID [2022-04-28 11:07:10,924 INFO L290 TraceCheckUtils]: 47: Hoare triple {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8400#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:10,925 INFO L272 TraceCheckUtils]: 46: Hoare triple {8416#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8396#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:10,925 INFO L290 TraceCheckUtils]: 45: Hoare triple {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8416#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:07:10,927 INFO L290 TraceCheckUtils]: 44: Hoare triple {8424#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:10,928 INFO L290 TraceCheckUtils]: 43: Hoare triple {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8424#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:07:10,928 INFO L290 TraceCheckUtils]: 42: Hoare triple {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:10,929 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} {8434#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {8420#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:10,929 INFO L290 TraceCheckUtils]: 40: Hoare triple {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:10,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {8444#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8340#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:10,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {8241#true} ~cond := #in~cond; {8444#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:07:10,930 INFO L272 TraceCheckUtils]: 37: Hoare triple {8434#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:10,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8434#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:07:10,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {8241#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8241#true} is VALID [2022-04-28 11:07:10,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {8241#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8241#true} is VALID [2022-04-28 11:07:10,930 INFO L290 TraceCheckUtils]: 33: Hoare triple {8241#true} assume !!(~x~0 <= ~X~0); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8241#true} {8241#true} #65#return; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 29: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L272 TraceCheckUtils]: 28: Hoare triple {8241#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {8241#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {8241#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {8241#true} assume !!(~x~0 <= ~X~0); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8241#true} {8241#true} #65#return; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L272 TraceCheckUtils]: 19: Hoare triple {8241#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {8241#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 17: Hoare triple {8241#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8241#true} {8241#true} #63#return; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 15: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:10,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {8241#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {8241#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8241#true} {8241#true} #61#return; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {8241#true} assume !(0 == ~cond); {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {8241#true} ~cond := #in~cond; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L272 TraceCheckUtils]: 6: Hoare triple {8241#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {8241#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {8241#true} call #t~ret8 := main(); {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8241#true} {8241#true} #69#return; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {8241#true} assume true; {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {8241#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {8241#true} is VALID [2022-04-28 11:07:10,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {8241#true} call ULTIMATE.init(); {8241#true} is VALID [2022-04-28 11:07:10,932 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-28 11:07:10,932 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:10,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1712528482] [2022-04-28 11:07:10,933 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:10,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [933682319] [2022-04-28 11:07:10,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [933682319] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:10,933 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:10,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-28 11:07:10,933 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:10,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [579079170] [2022-04-28 11:07:10,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [579079170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:10,933 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:10,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:07:10,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241585654] [2022-04-28 11:07:10,933 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:10,933 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:10,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:10,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:12,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:12,970 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:07:12,970 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:12,970 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:07:12,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=365, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:07:12,971 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:18,443 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:24,257 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:26,458 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:30,875 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.39s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:32,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:32,897 INFO L93 Difference]: Finished difference Result 106 states and 117 transitions. [2022-04-28 11:07:32,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:07:32,897 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:32,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:32,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:32,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:07:32,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:32,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:07:32,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:07:34,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:34,961 INFO L225 Difference]: With dead ends: 106 [2022-04-28 11:07:34,961 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 11:07:34,961 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:07:34,961 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 7 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 437 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 429 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:34,961 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 213 Invalid, 437 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 429 Invalid, 1 Unknown, 0 Unchecked, 9.2s Time] [2022-04-28 11:07:34,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 11:07:35,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 100. [2022-04-28 11:07:35,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:35,128 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:35,128 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:35,129 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:35,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:35,130 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2022-04-28 11:07:35,130 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2022-04-28 11:07:35,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:35,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:35,130 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 104 states. [2022-04-28 11:07:35,131 INFO L87 Difference]: Start difference. First operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 104 states. [2022-04-28 11:07:35,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:35,132 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2022-04-28 11:07:35,132 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2022-04-28 11:07:35,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:35,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:35,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:35,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:35,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 75 states have internal predecessors, (81), 15 states have call successors, (15), 12 states have call predecessors, (15), 11 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 11:07:35,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 109 transitions. [2022-04-28 11:07:35,134 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 109 transitions. Word has length 50 [2022-04-28 11:07:35,134 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:35,134 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 109 transitions. [2022-04-28 11:07:35,134 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:35,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 109 transitions. [2022-04-28 11:07:37,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 108 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:37,349 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 109 transitions. [2022-04-28 11:07:37,350 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:07:37,350 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:37,350 INFO L195 NwaCegarLoop]: 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-28 11:07:37,367 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 11:07:37,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 11:07:37,563 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:37,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:37,564 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-28 11:07:37,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:37,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [997702149] [2022-04-28 11:07:37,564 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:37,564 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-28 11:07:37,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:37,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422400906] [2022-04-28 11:07:37,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:37,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:37,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:37,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1048176155] [2022-04-28 11:07:37,572 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:07:37,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:37,572 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:37,578 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:37,578 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 11:07:37,612 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:07:37,612 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:37,613 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 11:07:37,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:37,622 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:37,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9191#true} {9191#true} #69#return; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {9191#true} call #t~ret8 := main(); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {9191#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {9191#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9191#true} {9191#true} #61#return; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {9191#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L272 TraceCheckUtils]: 12: Hoare triple {9191#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,891 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9191#true} {9191#true} #63#return; {9191#true} is VALID [2022-04-28 11:07:37,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {9191#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:37,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:37,892 INFO L272 TraceCheckUtils]: 19: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:37,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:37,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:37,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,893 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9191#true} {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:37,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:37,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {9247#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:37,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:37,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:37,895 INFO L272 TraceCheckUtils]: 28: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:37,895 INFO L290 TraceCheckUtils]: 29: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:37,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:37,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,895 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9191#true} {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:37,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:37,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {9272#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:07:37,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:07:37,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:07:37,897 INFO L272 TraceCheckUtils]: 37: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:37,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:37,897 INFO L290 TraceCheckUtils]: 39: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:37,897 INFO L290 TraceCheckUtils]: 40: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:37,897 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9191#true} {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:07:37,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {9300#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {9192#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {9192#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L272 TraceCheckUtils]: 46: Hoare triple {9192#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 47: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 48: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-28 11:07:37,898 INFO L290 TraceCheckUtils]: 49: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-28 11:07:37,899 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:07:37,899 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 49: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 48: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 47: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L272 TraceCheckUtils]: 46: Hoare triple {9192#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 45: Hoare triple {9192#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 44: Hoare triple {9192#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9192#false} is VALID [2022-04-28 11:07:38,089 INFO L290 TraceCheckUtils]: 43: Hoare triple {9364#(< main_~v~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9192#false} is VALID [2022-04-28 11:07:38,090 INFO L290 TraceCheckUtils]: 42: Hoare triple {9364#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9364#(< main_~v~0 0)} is VALID [2022-04-28 11:07:38,090 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9191#true} {9364#(< main_~v~0 0)} #65#return; {9364#(< main_~v~0 0)} is VALID [2022-04-28 11:07:38,090 INFO L290 TraceCheckUtils]: 40: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,090 INFO L290 TraceCheckUtils]: 39: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:38,090 INFO L290 TraceCheckUtils]: 38: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:38,090 INFO L272 TraceCheckUtils]: 37: Hoare triple {9364#(< main_~v~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:38,091 INFO L290 TraceCheckUtils]: 36: Hoare triple {9364#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9364#(< main_~v~0 0)} is VALID [2022-04-28 11:07:38,091 INFO L290 TraceCheckUtils]: 35: Hoare triple {9364#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9364#(< main_~v~0 0)} is VALID [2022-04-28 11:07:38,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9364#(< main_~v~0 0)} is VALID [2022-04-28 11:07:38,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:07:38,093 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9191#true} {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:07:38,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:38,093 INFO L290 TraceCheckUtils]: 29: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:38,093 INFO L272 TraceCheckUtils]: 28: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:38,093 INFO L290 TraceCheckUtils]: 27: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:07:38,093 INFO L290 TraceCheckUtils]: 26: Hoare triple {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:07:38,094 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9392#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:07:38,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:38,095 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9191#true} {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:38,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:38,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:38,095 INFO L272 TraceCheckUtils]: 19: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:38,096 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:38,096 INFO L290 TraceCheckUtils]: 17: Hoare triple {9191#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9420#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:38,096 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9191#true} {9191#true} #63#return; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L272 TraceCheckUtils]: 12: Hoare triple {9191#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {9191#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9191#true} {9191#true} #61#return; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {9191#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {9191#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L272 TraceCheckUtils]: 4: Hoare triple {9191#true} call #t~ret8 := main(); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9191#true} {9191#true} #69#return; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-28 11:07:38,097 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:07:38,098 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:38,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422400906] [2022-04-28 11:07:38,098 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:38,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1048176155] [2022-04-28 11:07:38,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1048176155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:38,098 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:38,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 11:07:38,098 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:38,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [997702149] [2022-04-28 11:07:38,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [997702149] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:38,098 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:38,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:07:38,098 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1334319900] [2022-04-28 11:07:38,098 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:38,099 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:38,099 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:38,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:38,130 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-28 11:07:38,130 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:07:38,130 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:38,130 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:07:38,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:07:38,130 INFO L87 Difference]: Start difference. First operand 100 states and 109 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:38,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:38,538 INFO L93 Difference]: Finished difference Result 131 states and 149 transitions. [2022-04-28 11:07:38,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 11:07:38,538 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:38,538 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:38,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:38,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:07:38,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:38,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:07:38,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-28 11:07:38,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:38,592 INFO L225 Difference]: With dead ends: 131 [2022-04-28 11:07:38,592 INFO L226 Difference]: Without dead ends: 118 [2022-04-28 11:07:38,593 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-28 11:07:38,593 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:38,593 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:07:38,593 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-28 11:07:38,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 113. [2022-04-28 11:07:38,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:38,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:07:38,822 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:07:38,822 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:07:38,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:38,824 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2022-04-28 11:07:38,824 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2022-04-28 11:07:38,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:38,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:38,824 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 118 states. [2022-04-28 11:07:38,824 INFO L87 Difference]: Start difference. First operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 118 states. [2022-04-28 11:07:38,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:38,826 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2022-04-28 11:07:38,826 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2022-04-28 11:07:38,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:38,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:38,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:38,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:38,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 83 states have (on average 1.1204819277108433) internal successors, (93), 85 states have internal predecessors, (93), 18 states have call successors, (18), 12 states have call predecessors, (18), 11 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:07:38,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 127 transitions. [2022-04-28 11:07:38,828 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 127 transitions. Word has length 50 [2022-04-28 11:07:38,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:38,828 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 127 transitions. [2022-04-28 11:07:38,828 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:38,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 113 states and 127 transitions. [2022-04-28 11:07:41,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 126 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:41,096 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 127 transitions. [2022-04-28 11:07:41,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:07:41,096 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:41,096 INFO L195 NwaCegarLoop]: 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-28 11:07:41,112 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 11:07:41,303 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:41,303 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:41,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:41,304 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-28 11:07:41,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:41,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2018498743] [2022-04-28 11:07:41,304 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:41,304 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-28 11:07:41,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:41,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [639693673] [2022-04-28 11:07:41,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:41,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:41,313 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:41,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1532358627] [2022-04-28 11:07:41,314 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:07:41,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:41,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:41,315 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:41,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 11:07:41,356 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:07:41,356 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:41,357 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 11:07:41,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:41,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:41,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {10224#true} call ULTIMATE.init(); {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {10224#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10224#true} {10224#true} #69#return; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {10224#true} call #t~ret8 := main(); {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {10224#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L272 TraceCheckUtils]: 6: Hoare triple {10224#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 8: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10224#true} {10224#true} #61#return; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L290 TraceCheckUtils]: 11: Hoare triple {10224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10224#true} is VALID [2022-04-28 11:07:41,901 INFO L272 TraceCheckUtils]: 12: Hoare triple {10224#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:41,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {10224#true} ~cond := #in~cond; {10268#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:07:41,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {10268#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10272#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:07:41,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {10272#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10272#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:07:41,902 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10272#(not (= |assume_abort_if_not_#in~cond| 0))} {10224#true} #63#return; {10279#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {10279#(and (<= 0 main_~Y~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,903 INFO L272 TraceCheckUtils]: 19: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:41,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:41,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:41,903 INFO L290 TraceCheckUtils]: 22: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:41,904 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10224#true} {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,904 INFO L290 TraceCheckUtils]: 24: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {10283#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10308#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {10308#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,906 INFO L272 TraceCheckUtils]: 28: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:41,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:41,906 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:41,906 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:41,906 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#true} {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,907 INFO L290 TraceCheckUtils]: 34: Hoare triple {10312#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10337#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {10337#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,908 INFO L290 TraceCheckUtils]: 36: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,908 INFO L272 TraceCheckUtils]: 37: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:41,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:41,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:41,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:41,909 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10224#true} {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} #65#return; {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,909 INFO L290 TraceCheckUtils]: 42: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:07:41,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {10341#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= main_~Y~0 10))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10366#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:07:41,910 INFO L290 TraceCheckUtils]: 44: Hoare triple {10366#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10370#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~x~0 (- 3)) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:07:41,911 INFO L290 TraceCheckUtils]: 45: Hoare triple {10370#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~x~0 (- 3)) 0) (= (+ (- 2) main_~y~0) 0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10374#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:07:41,912 INFO L272 TraceCheckUtils]: 46: Hoare triple {10374#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 10) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:41,912 INFO L290 TraceCheckUtils]: 47: Hoare triple {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:41,912 INFO L290 TraceCheckUtils]: 48: Hoare triple {10382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10225#false} is VALID [2022-04-28 11:07:41,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {10225#false} assume !false; {10225#false} is VALID [2022-04-28 11:07:41,913 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 11:07:41,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:42,537 INFO L290 TraceCheckUtils]: 49: Hoare triple {10225#false} assume !false; {10225#false} is VALID [2022-04-28 11:07:42,538 INFO L290 TraceCheckUtils]: 48: Hoare triple {10382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10225#false} is VALID [2022-04-28 11:07:42,538 INFO L290 TraceCheckUtils]: 47: Hoare triple {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:42,539 INFO L272 TraceCheckUtils]: 46: Hoare triple {10398#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:42,539 INFO L290 TraceCheckUtils]: 45: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10398#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:07:42,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:42,542 INFO L290 TraceCheckUtils]: 43: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:07:42,543 INFO L290 TraceCheckUtils]: 42: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:42,543 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10224#true} {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:42,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:42,543 INFO L290 TraceCheckUtils]: 38: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:42,543 INFO L272 TraceCheckUtils]: 37: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:42,544 INFO L290 TraceCheckUtils]: 36: Hoare triple {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:42,545 INFO L290 TraceCheckUtils]: 35: Hoare triple {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10402#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:42,546 INFO L290 TraceCheckUtils]: 34: Hoare triple {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10406#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:07:42,546 INFO L290 TraceCheckUtils]: 33: Hoare triple {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:07:42,547 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#true} {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:07:42,547 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,547 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:42,547 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:42,547 INFO L272 TraceCheckUtils]: 28: Hoare triple {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:42,547 INFO L290 TraceCheckUtils]: 27: Hoare triple {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:07:42,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {10462#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10437#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:07:42,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10462#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:07:42,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !!(~x~0 <= ~X~0); {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:07:42,551 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10224#true} {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #65#return; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:07:42,552 INFO L290 TraceCheckUtils]: 22: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,552 INFO L290 TraceCheckUtils]: 21: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:42,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:42,552 INFO L272 TraceCheckUtils]: 19: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:42,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {10224#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10466#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:07:42,553 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10224#true} {10224#true} #63#return; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L272 TraceCheckUtils]: 12: Hoare triple {10224#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {10224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10224#true} {10224#true} #61#return; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {10224#true} assume !(0 == ~cond); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {10224#true} ~cond := #in~cond; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {10224#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {10224#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {10224#true} call #t~ret8 := main(); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10224#true} {10224#true} #69#return; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {10224#true} assume true; {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {10224#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {10224#true} is VALID [2022-04-28 11:07:42,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {10224#true} call ULTIMATE.init(); {10224#true} is VALID [2022-04-28 11:07:42,554 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 11:07:42,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:42,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [639693673] [2022-04-28 11:07:42,554 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:42,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1532358627] [2022-04-28 11:07:42,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1532358627] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:42,554 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:42,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 21 [2022-04-28 11:07:42,554 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:42,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2018498743] [2022-04-28 11:07:42,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2018498743] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:42,554 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:42,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:07:42,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [883145827] [2022-04-28 11:07:42,555 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:42,555 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:42,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:42,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:42,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:42,586 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:07:42,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:42,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:07:42,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:07:42,587 INFO L87 Difference]: Start difference. First operand 113 states and 127 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:43,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:43,740 INFO L93 Difference]: Finished difference Result 126 states and 142 transitions. [2022-04-28 11:07:43,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:07:43,741 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:43,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:43,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:43,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 11:07:43,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:43,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 11:07:43,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-28 11:07:43,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:43,794 INFO L225 Difference]: With dead ends: 126 [2022-04-28 11:07:43,794 INFO L226 Difference]: Without dead ends: 124 [2022-04-28 11:07:43,794 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:07:43,795 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:43,795 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 187 Invalid, 475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:07:43,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-28 11:07:44,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 120. [2022-04-28 11:07:44,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:44,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:07:44,042 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:07:44,042 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:07:44,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:44,044 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2022-04-28 11:07:44,044 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 140 transitions. [2022-04-28 11:07:44,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:44,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:44,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 124 states. [2022-04-28 11:07:44,044 INFO L87 Difference]: Start difference. First operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 124 states. [2022-04-28 11:07:44,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:44,046 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2022-04-28 11:07:44,046 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 140 transitions. [2022-04-28 11:07:44,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:44,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:44,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:44,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:44,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 88 states have (on average 1.1136363636363635) internal successors, (98), 91 states have internal predecessors, (98), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:07:44,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 134 transitions. [2022-04-28 11:07:44,048 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 134 transitions. Word has length 50 [2022-04-28 11:07:44,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:44,048 INFO L495 AbstractCegarLoop]: Abstraction has 120 states and 134 transitions. [2022-04-28 11:07:44,048 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:44,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 134 transitions. [2022-04-28 11:07:46,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 133 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:46,299 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 134 transitions. [2022-04-28 11:07:46,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:07:46,300 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:46,300 INFO L195 NwaCegarLoop]: 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-28 11:07:46,315 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 11:07:46,500 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 11:07:46,500 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:46,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:46,501 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-28 11:07:46,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:46,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [230582578] [2022-04-28 11:07:46,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:46,501 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-28 11:07:46,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:46,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1684203970] [2022-04-28 11:07:46,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:46,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:46,510 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:46,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1927753077] [2022-04-28 11:07:46,510 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:07:46,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:46,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:46,511 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:46,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 11:07:46,548 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:07:46,548 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:46,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:07:46,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:46,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:08:07,174 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:09,791 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:14,337 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:27,258 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:35,052 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:03,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {11290#true} call ULTIMATE.init(); {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {11290#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11290#true} {11290#true} #69#return; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {11290#true} call #t~ret8 := main(); {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {11290#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {11290#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11290#true} {11290#true} #61#return; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L290 TraceCheckUtils]: 11: Hoare triple {11290#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11290#true} is VALID [2022-04-28 11:09:03,728 INFO L272 TraceCheckUtils]: 12: Hoare triple {11290#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:03,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:03,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:03,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:03,729 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11290#true} {11290#true} #63#return; {11290#true} is VALID [2022-04-28 11:09:03,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {11290#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 11:09:03,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 11:09:03,730 INFO L272 TraceCheckUtils]: 19: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:03,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:03,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:03,730 INFO L290 TraceCheckUtils]: 22: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:03,730 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11290#true} {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 11:09:03,731 INFO L290 TraceCheckUtils]: 24: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 11:09:03,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {11346#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:03,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:05,734 WARN L290 TraceCheckUtils]: 27: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is UNKNOWN [2022-04-28 11:09:05,734 INFO L272 TraceCheckUtils]: 28: Hoare triple {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:05,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {11290#true} ~cond := #in~cond; {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:05,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:05,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:05,736 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11378#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #65#return; {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:05,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !!(~x~0 <= ~X~0); {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:05,737 INFO L290 TraceCheckUtils]: 34: Hoare triple {11371#(= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} is VALID [2022-04-28 11:09:05,737 INFO L290 TraceCheckUtils]: 35: Hoare triple {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} is VALID [2022-04-28 11:09:05,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {11402#(= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:09:05,738 INFO L272 TraceCheckUtils]: 37: Hoare triple {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:05,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {11290#true} ~cond := #in~cond; {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:05,738 INFO L290 TraceCheckUtils]: 39: Hoare triple {11385#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:05,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:05,739 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11409#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:05,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:05,741 INFO L290 TraceCheckUtils]: 43: Hoare triple {11425#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11432#(and (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:09:05,745 INFO L290 TraceCheckUtils]: 44: Hoare triple {11432#(and (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11436#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-28 11:09:07,747 WARN L290 TraceCheckUtils]: 45: Hoare triple {11436#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11440#(or (and (not (= main_~X~0 0)) (or (and (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 4) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) main_~v~0) (= (mod (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0))) (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) 0) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (* main_~X~0 2))) (not (= main_~Y~0 0))))))} is UNKNOWN [2022-04-28 11:09:07,754 INFO L272 TraceCheckUtils]: 46: Hoare triple {11440#(or (and (not (= main_~X~0 0)) (or (and (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 4) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) main_~v~0) (= (mod (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0))) (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= (+ (* (- 2) main_~X~0) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) 0) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (* main_~X~0 2))) (not (= main_~Y~0 0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:07,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:07,756 INFO L290 TraceCheckUtils]: 48: Hoare triple {11448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11291#false} is VALID [2022-04-28 11:09:07,756 INFO L290 TraceCheckUtils]: 49: Hoare triple {11291#false} assume !false; {11291#false} is VALID [2022-04-28 11:09:07,757 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-28 11:09:07,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:14,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {11291#false} assume !false; {11291#false} is VALID [2022-04-28 11:09:14,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {11448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11291#false} is VALID [2022-04-28 11:09:14,125 INFO L290 TraceCheckUtils]: 47: Hoare triple {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:14,125 INFO L272 TraceCheckUtils]: 46: Hoare triple {11464#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:14,126 INFO L290 TraceCheckUtils]: 45: Hoare triple {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11464#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:09:14,128 INFO L290 TraceCheckUtils]: 44: Hoare triple {11472#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:14,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11472#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:09:14,129 INFO L290 TraceCheckUtils]: 42: Hoare triple {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:14,130 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} {11482#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {11468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:14,130 INFO L290 TraceCheckUtils]: 40: Hoare triple {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:14,130 INFO L290 TraceCheckUtils]: 39: Hoare triple {11492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11389#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:14,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {11290#true} ~cond := #in~cond; {11492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:14,131 INFO L272 TraceCheckUtils]: 37: Hoare triple {11482#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:14,131 INFO L290 TraceCheckUtils]: 36: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11482#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:09:14,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {11290#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11290#true} is VALID [2022-04-28 11:09:14,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {11290#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11290#true} is VALID [2022-04-28 11:09:14,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {11290#true} assume !!(~x~0 <= ~X~0); {11290#true} is VALID [2022-04-28 11:09:14,131 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11290#true} {11290#true} #65#return; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 30: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L272 TraceCheckUtils]: 28: Hoare triple {11290#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 26: Hoare triple {11290#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {11290#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {11290#true} assume !!(~x~0 <= ~X~0); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11290#true} {11290#true} #65#return; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 22: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 21: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L272 TraceCheckUtils]: 19: Hoare triple {11290#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 18: Hoare triple {11290#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 17: Hoare triple {11290#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11290#true} {11290#true} #63#return; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:14,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {11290#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {11290#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11290#true} {11290#true} #61#return; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {11290#true} assume !(0 == ~cond); {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {11290#true} ~cond := #in~cond; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L272 TraceCheckUtils]: 6: Hoare triple {11290#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {11290#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {11290#true} call #t~ret8 := main(); {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11290#true} {11290#true} #69#return; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {11290#true} assume true; {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {11290#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {11290#true} is VALID [2022-04-28 11:09:14,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {11290#true} call ULTIMATE.init(); {11290#true} is VALID [2022-04-28 11:09:14,133 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-28 11:09:14,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:14,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1684203970] [2022-04-28 11:09:14,133 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:14,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1927753077] [2022-04-28 11:09:14,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1927753077] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:14,134 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:14,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-28 11:09:14,134 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:14,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [230582578] [2022-04-28 11:09:14,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [230582578] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:14,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:14,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:09:14,134 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332819060] [2022-04-28 11:09:14,134 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:14,134 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:14,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:14,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:18,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 42 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:18,178 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:09:18,178 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:18,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:09:18,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=327, Unknown=1, NotChecked=0, Total=380 [2022-04-28 11:09:18,179 INFO L87 Difference]: Start difference. First operand 120 states and 134 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:23,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:23,381 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 11:09:23,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:09:23,381 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:23,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:23,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:23,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:09:23,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:23,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:09:23,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:09:27,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:27,452 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:09:27,452 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:09:27,452 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 5.9s TimeCoverageRelationStatistics Valid=80, Invalid=471, Unknown=1, NotChecked=0, Total=552 [2022-04-28 11:09:27,453 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 18 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 45 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:27,453 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 211 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 354 Invalid, 0 Unknown, 45 Unchecked, 1.1s Time] [2022-04-28 11:09:27,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:09:27,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 11:09:27,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:27,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:27,726 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:27,726 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:27,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:27,728 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:09:27,728 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:09:27,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:27,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:27,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:09:27,729 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:09:27,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:27,731 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:09:27,731 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:09:27,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:27,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:27,731 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:27,731 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:27,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:27,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:09:27,733 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 11:09:27,733 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:27,733 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:09:27,733 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:27,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:09:32,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:32,028 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:09:32,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:09:32,029 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:32,029 INFO L195 NwaCegarLoop]: 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-28 11:09:32,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:32,229 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 11:09:32,229 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:32,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:32,230 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 11:09:32,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:32,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [415385136] [2022-04-28 11:09:32,230 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:32,230 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 11:09:32,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:32,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [817659943] [2022-04-28 11:09:32,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:32,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:32,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:32,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1213951832] [2022-04-28 11:09:32,238 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:09:32,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:32,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:32,239 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:32,240 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 11:09:32,289 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:09:32,289 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:32,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 11:09:32,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:32,302 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:33,775 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:43,170 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:43,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {12391#true} call ULTIMATE.init(); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {12391#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12391#true} {12391#true} #69#return; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {12391#true} call #t~ret8 := main(); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {12391#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L272 TraceCheckUtils]: 6: Hoare triple {12391#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 7: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12391#true} {12391#true} #61#return; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {12391#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L272 TraceCheckUtils]: 12: Hoare triple {12391#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:43,448 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12391#true} {12391#true} #63#return; {12391#true} is VALID [2022-04-28 11:09:43,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {12391#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:09:43,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:09:43,449 INFO L272 TraceCheckUtils]: 19: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:43,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:43,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:43,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:43,450 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12391#true} {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:09:43,450 INFO L290 TraceCheckUtils]: 24: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:09:43,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {12447#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12472#(and (= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-28 11:09:43,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {12472#(and (= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12476#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-28 11:09:43,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {12476#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12480#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~y~0 1))} is VALID [2022-04-28 11:09:43,452 INFO L272 TraceCheckUtils]: 28: Hoare triple {12480#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:43,452 INFO L290 TraceCheckUtils]: 29: Hoare triple {12391#true} ~cond := #in~cond; {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:43,453 INFO L290 TraceCheckUtils]: 30: Hoare triple {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,453 INFO L290 TraceCheckUtils]: 31: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,454 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12480#(and (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~y~0 1))} #65#return; {12498#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-28 11:09:43,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {12498#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {12498#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} is VALID [2022-04-28 11:09:43,455 INFO L290 TraceCheckUtils]: 34: Hoare triple {12498#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~y~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12505#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= main_~x~0 1))} is VALID [2022-04-28 11:09:43,455 INFO L290 TraceCheckUtils]: 35: Hoare triple {12505#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12509#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2))} is VALID [2022-04-28 11:09:43,456 INFO L290 TraceCheckUtils]: 36: Hoare triple {12509#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:09:43,456 INFO L272 TraceCheckUtils]: 37: Hoare triple {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:43,456 INFO L290 TraceCheckUtils]: 38: Hoare triple {12391#true} ~cond := #in~cond; {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:43,456 INFO L290 TraceCheckUtils]: 39: Hoare triple {12487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,458 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12513#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {12529#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:43,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {12529#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {12533#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-28 11:09:43,460 INFO L290 TraceCheckUtils]: 43: Hoare triple {12533#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12537#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= main_~x~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} is VALID [2022-04-28 11:09:43,460 INFO L290 TraceCheckUtils]: 44: Hoare triple {12537#(and (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= main_~x~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12541#(and (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} is VALID [2022-04-28 11:09:43,462 INFO L290 TraceCheckUtils]: 45: Hoare triple {12541#(and (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12545#(and (= (* main_~Y~0 8) (+ main_~v~0 (* 7 main_~X~0))) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (* main_~X~0 (div (* main_~X~0 3) main_~X~0)) main_~xy~0))} is VALID [2022-04-28 11:09:43,464 INFO L272 TraceCheckUtils]: 46: Hoare triple {12545#(and (= (* main_~Y~0 8) (+ main_~v~0 (* 7 main_~X~0))) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (* main_~X~0 (div (* main_~X~0 3) main_~X~0)) main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:43,464 INFO L290 TraceCheckUtils]: 47: Hoare triple {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:43,464 INFO L290 TraceCheckUtils]: 48: Hoare triple {12553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12392#false} is VALID [2022-04-28 11:09:43,464 INFO L290 TraceCheckUtils]: 49: Hoare triple {12392#false} assume !false; {12392#false} is VALID [2022-04-28 11:09:43,465 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-28 11:09:43,465 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:46,333 INFO L290 TraceCheckUtils]: 49: Hoare triple {12392#false} assume !false; {12392#false} is VALID [2022-04-28 11:09:46,333 INFO L290 TraceCheckUtils]: 48: Hoare triple {12553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12392#false} is VALID [2022-04-28 11:09:46,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:46,334 INFO L272 TraceCheckUtils]: 46: Hoare triple {12569#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:46,335 INFO L290 TraceCheckUtils]: 45: Hoare triple {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12569#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:09:46,337 INFO L290 TraceCheckUtils]: 44: Hoare triple {12577#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:46,339 INFO L290 TraceCheckUtils]: 43: Hoare triple {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12577#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:09:46,339 INFO L290 TraceCheckUtils]: 42: Hoare triple {12584#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {12573#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:46,340 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} {12588#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {12584#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:09:46,340 INFO L290 TraceCheckUtils]: 40: Hoare triple {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,340 INFO L290 TraceCheckUtils]: 39: Hoare triple {12598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {12391#true} ~cond := #in~cond; {12598#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:46,341 INFO L272 TraceCheckUtils]: 37: Hoare triple {12588#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:46,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12588#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:09:46,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {12391#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12391#true} is VALID [2022-04-28 11:09:46,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {12391#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12391#true} is VALID [2022-04-28 11:09:46,342 INFO L290 TraceCheckUtils]: 33: Hoare triple {12391#true} assume !!(~x~0 <= ~X~0); {12391#true} is VALID [2022-04-28 11:09:46,342 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12391#true} {12391#true} #65#return; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L272 TraceCheckUtils]: 28: Hoare triple {12391#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {12391#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {12391#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 24: Hoare triple {12391#true} assume !!(~x~0 <= ~X~0); {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12391#true} {12391#true} #65#return; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 21: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 20: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L272 TraceCheckUtils]: 19: Hoare triple {12391#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {12391#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {12391#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12391#true} is VALID [2022-04-28 11:09:46,344 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12391#true} {12391#true} #63#return; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {12391#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {12391#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12391#true} {12391#true} #61#return; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {12391#true} assume !(0 == ~cond); {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {12391#true} ~cond := #in~cond; {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L272 TraceCheckUtils]: 6: Hoare triple {12391#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {12391#true} is VALID [2022-04-28 11:09:46,345 INFO L290 TraceCheckUtils]: 5: Hoare triple {12391#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12391#true} is VALID [2022-04-28 11:09:46,355 INFO L272 TraceCheckUtils]: 4: Hoare triple {12391#true} call #t~ret8 := main(); {12391#true} is VALID [2022-04-28 11:09:46,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12391#true} {12391#true} #69#return; {12391#true} is VALID [2022-04-28 11:09:46,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {12391#true} assume true; {12391#true} is VALID [2022-04-28 11:09:46,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {12391#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {12391#true} is VALID [2022-04-28 11:09:46,355 INFO L272 TraceCheckUtils]: 0: Hoare triple {12391#true} call ULTIMATE.init(); {12391#true} is VALID [2022-04-28 11:09:46,356 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-28 11:09:46,356 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:46,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [817659943] [2022-04-28 11:09:46,356 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:46,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1213951832] [2022-04-28 11:09:46,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1213951832] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:46,356 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:46,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 11] total 25 [2022-04-28 11:09:46,356 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:46,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [415385136] [2022-04-28 11:09:46,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [415385136] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:46,356 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:46,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 11:09:46,356 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675717922] [2022-04-28 11:09:46,356 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:46,357 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:46,357 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:46,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:46,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:46,398 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 11:09:46,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:46,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 11:09:46,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=521, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:09:46,399 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:50,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:50,305 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 11:09:50,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:09:50,305 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:50,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:50,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:50,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:09:50,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:50,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:09:50,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 11:09:50,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:50,367 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:09:50,367 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:09:50,368 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=129, Invalid=801, Unknown=0, NotChecked=0, Total=930 [2022-04-28 11:09:50,368 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 626 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 256 SdHoareTripleChecker+Invalid, 630 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 626 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:50,368 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 256 Invalid, 630 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 626 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 11:09:50,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:09:50,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 11:09:50,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:50,627 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:50,627 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:50,627 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:50,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:50,629 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:09:50,629 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:09:50,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:50,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:50,629 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:09:50,629 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:09:50,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:50,631 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:09:50,631 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:09:50,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:50,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:50,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:50,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:50,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:50,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:09:50,633 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 11:09:50,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:50,633 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:09:50,633 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:50,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:09:54,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:54,966 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:09:54,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:09:54,972 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:54,972 INFO L195 NwaCegarLoop]: 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-28 11:09:54,988 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:55,172 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 11:09:55,173 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:55,173 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:55,173 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-28 11:09:55,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:55,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [308177380] [2022-04-28 11:09:55,173 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:55,174 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-28 11:09:55,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:55,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2048065515] [2022-04-28 11:09:55,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:55,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:55,182 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:55,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [469051847] [2022-04-28 11:09:55,182 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:09:55,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:55,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:55,183 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:55,184 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 11:09:55,228 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:09:55,228 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:55,229 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 11:09:55,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:55,238 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:56,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {13501#true} call ULTIMATE.init(); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {13501#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13501#true} {13501#true} #69#return; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {13501#true} call #t~ret8 := main(); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {13501#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {13501#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13501#true} {13501#true} #61#return; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {13501#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {13501#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,005 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13501#true} {13501#true} #63#return; {13501#true} is VALID [2022-04-28 11:09:56,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {13501#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:56,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:56,006 INFO L272 TraceCheckUtils]: 19: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,006 INFO L290 TraceCheckUtils]: 21: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,006 INFO L290 TraceCheckUtils]: 22: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,007 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13501#true} {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:56,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:56,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {13557#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13582#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:09:56,009 INFO L290 TraceCheckUtils]: 26: Hoare triple {13582#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:09:56,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:09:56,010 INFO L272 TraceCheckUtils]: 28: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,010 INFO L290 TraceCheckUtils]: 29: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,010 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13501#true} {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:09:56,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:09:56,012 INFO L290 TraceCheckUtils]: 34: Hoare triple {13586#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13611#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,012 INFO L290 TraceCheckUtils]: 35: Hoare triple {13611#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,013 INFO L290 TraceCheckUtils]: 36: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,013 INFO L272 TraceCheckUtils]: 37: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,013 INFO L290 TraceCheckUtils]: 38: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,013 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13501#true} {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,014 INFO L290 TraceCheckUtils]: 42: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,014 INFO L290 TraceCheckUtils]: 43: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,015 INFO L290 TraceCheckUtils]: 44: Hoare triple {13615#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,015 INFO L290 TraceCheckUtils]: 45: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,015 INFO L272 TraceCheckUtils]: 46: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,015 INFO L290 TraceCheckUtils]: 47: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,015 INFO L290 TraceCheckUtils]: 48: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,016 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13501#true} {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:09:56,016 INFO L290 TraceCheckUtils]: 51: Hoare triple {13643#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {13502#false} is VALID [2022-04-28 11:09:56,016 INFO L290 TraceCheckUtils]: 52: Hoare triple {13502#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13502#false} is VALID [2022-04-28 11:09:56,016 INFO L272 TraceCheckUtils]: 53: Hoare triple {13502#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13502#false} is VALID [2022-04-28 11:09:56,017 INFO L290 TraceCheckUtils]: 54: Hoare triple {13502#false} ~cond := #in~cond; {13502#false} is VALID [2022-04-28 11:09:56,017 INFO L290 TraceCheckUtils]: 55: Hoare triple {13502#false} assume 0 == ~cond; {13502#false} is VALID [2022-04-28 11:09:56,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {13502#false} assume !false; {13502#false} is VALID [2022-04-28 11:09:56,017 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-28 11:09:56,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:56,320 INFO L290 TraceCheckUtils]: 56: Hoare triple {13502#false} assume !false; {13502#false} is VALID [2022-04-28 11:09:56,320 INFO L290 TraceCheckUtils]: 55: Hoare triple {13502#false} assume 0 == ~cond; {13502#false} is VALID [2022-04-28 11:09:56,320 INFO L290 TraceCheckUtils]: 54: Hoare triple {13502#false} ~cond := #in~cond; {13502#false} is VALID [2022-04-28 11:09:56,320 INFO L272 TraceCheckUtils]: 53: Hoare triple {13502#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13502#false} is VALID [2022-04-28 11:09:56,320 INFO L290 TraceCheckUtils]: 52: Hoare triple {13502#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13502#false} is VALID [2022-04-28 11:09:56,320 INFO L290 TraceCheckUtils]: 51: Hoare triple {13695#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13502#false} is VALID [2022-04-28 11:09:56,321 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13501#true} {13695#(<= main_~x~0 main_~X~0)} #65#return; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:09:56,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,321 INFO L290 TraceCheckUtils]: 48: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,321 INFO L290 TraceCheckUtils]: 47: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,321 INFO L272 TraceCheckUtils]: 46: Hoare triple {13695#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,321 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:09:56,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13695#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:09:56,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:09:56,323 INFO L290 TraceCheckUtils]: 42: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:09:56,324 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13501#true} {13717#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:09:56,324 INFO L290 TraceCheckUtils]: 40: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,324 INFO L290 TraceCheckUtils]: 39: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,324 INFO L290 TraceCheckUtils]: 38: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,324 INFO L272 TraceCheckUtils]: 37: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,324 INFO L290 TraceCheckUtils]: 36: Hoare triple {13717#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:09:56,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {13745#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13717#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:09:56,325 INFO L290 TraceCheckUtils]: 34: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13745#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-28 11:09:56,325 INFO L290 TraceCheckUtils]: 33: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:09:56,326 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13501#true} {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:09:56,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,326 INFO L272 TraceCheckUtils]: 28: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,326 INFO L290 TraceCheckUtils]: 27: Hoare triple {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:09:56,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {13774#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13749#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:09:56,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13774#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:09:56,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:09:56,329 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13501#true} {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:09:56,329 INFO L290 TraceCheckUtils]: 22: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,329 INFO L290 TraceCheckUtils]: 21: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,329 INFO L272 TraceCheckUtils]: 19: Hoare triple {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:09:56,330 INFO L290 TraceCheckUtils]: 17: Hoare triple {13501#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13778#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:09:56,330 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13501#true} {13501#true} #63#return; {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L272 TraceCheckUtils]: 12: Hoare triple {13501#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {13501#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13501#true} is VALID [2022-04-28 11:09:56,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13501#true} {13501#true} #61#return; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {13501#true} assume !(0 == ~cond); {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {13501#true} ~cond := #in~cond; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L272 TraceCheckUtils]: 6: Hoare triple {13501#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {13501#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {13501#true} call #t~ret8 := main(); {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13501#true} {13501#true} #69#return; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {13501#true} assume true; {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {13501#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {13501#true} is VALID [2022-04-28 11:09:56,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {13501#true} call ULTIMATE.init(); {13501#true} is VALID [2022-04-28 11:09:56,331 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-28 11:09:56,331 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:56,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2048065515] [2022-04-28 11:09:56,331 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:56,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [469051847] [2022-04-28 11:09:56,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [469051847] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:56,332 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:56,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 11:09:56,332 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:56,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [308177380] [2022-04-28 11:09:56,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [308177380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:56,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:56,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:09:56,332 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164211120] [2022-04-28 11:09:56,332 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:56,332 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:09:56,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:56,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:09:56,370 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-28 11:09:56,371 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:09:56,371 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:56,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:09:56,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:09:56,371 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:09:56,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:56,981 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-04-28 11:09:56,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:09:56,981 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:09:56,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:56,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:09:56,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:09:56,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:09:56,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:09:56,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 11:09:57,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:57,043 INFO L225 Difference]: With dead ends: 133 [2022-04-28 11:09:57,043 INFO L226 Difference]: Without dead ends: 125 [2022-04-28 11:09:57,043 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:09:57,044 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 135 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 135 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:57,044 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 135 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:09:57,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-28 11:09:57,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 121. [2022-04-28 11:09:57,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:57,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:57,343 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:57,343 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:57,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:57,345 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 11:09:57,345 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 11:09:57,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:57,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:57,346 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-28 11:09:57,346 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-28 11:09:57,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:57,348 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 11:09:57,348 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 11:09:57,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:57,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:57,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:57,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:57,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:57,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:09:57,350 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 57 [2022-04-28 11:09:57,350 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:57,350 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:09:57,351 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:09:57,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:10:01,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 134 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:01,691 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:10:01,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:10:01,692 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:01,692 INFO L195 NwaCegarLoop]: 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-28 11:10:01,717 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 11:10:01,906 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:01,907 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:01,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:01,907 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-28 11:10:01,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:01,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1226688139] [2022-04-28 11:10:01,907 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:01,907 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-28 11:10:01,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:01,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1038084119] [2022-04-28 11:10:01,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:01,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:01,922 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:01,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [185133683] [2022-04-28 11:10:01,922 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:10:01,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:01,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:01,930 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:10:01,932 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 11:10:01,973 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:10:01,973 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:01,974 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 11:10:01,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:01,997 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:18,521 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:25,358 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:29,399 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:33,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {14614#true} call ULTIMATE.init(); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {14614#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14614#true} {14614#true} #69#return; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L272 TraceCheckUtils]: 4: Hoare triple {14614#true} call #t~ret8 := main(); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 5: Hoare triple {14614#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L272 TraceCheckUtils]: 6: Hoare triple {14614#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 7: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14614#true} {14614#true} #61#return; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {14614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L272 TraceCheckUtils]: 12: Hoare triple {14614#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14614#true} {14614#true} #63#return; {14614#true} is VALID [2022-04-28 11:10:33,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {14614#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:33,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:33,893 INFO L272 TraceCheckUtils]: 19: Hoare triple {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:33,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:33,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,894 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14614#true} {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:33,895 INFO L290 TraceCheckUtils]: 24: Hoare triple {14670#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {14692#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:33,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {14692#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,896 INFO L272 TraceCheckUtils]: 28: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,896 INFO L290 TraceCheckUtils]: 29: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:33,896 INFO L290 TraceCheckUtils]: 30: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:33,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,896 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14614#true} {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,897 INFO L290 TraceCheckUtils]: 33: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,897 INFO L290 TraceCheckUtils]: 34: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,897 INFO L290 TraceCheckUtils]: 35: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,898 INFO L290 TraceCheckUtils]: 36: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,898 INFO L272 TraceCheckUtils]: 37: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:33,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:33,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:33,898 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14614#true} {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {14696#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14748#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {14748#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14752#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:33,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {14752#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14756#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:33,900 INFO L290 TraceCheckUtils]: 45: Hoare triple {14756#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14760#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:33,900 INFO L272 TraceCheckUtils]: 46: Hoare triple {14760#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:33,900 INFO L290 TraceCheckUtils]: 47: Hoare triple {14614#true} ~cond := #in~cond; {14767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:33,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {14767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:33,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:33,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} {14760#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {14778#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:33,903 INFO L290 TraceCheckUtils]: 51: Hoare triple {14778#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14782#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:35,904 WARN L290 TraceCheckUtils]: 52: Hoare triple {14782#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14786#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-28 11:10:35,906 INFO L272 TraceCheckUtils]: 53: Hoare triple {14786#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:35,907 INFO L290 TraceCheckUtils]: 54: Hoare triple {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14794#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:35,907 INFO L290 TraceCheckUtils]: 55: Hoare triple {14794#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14615#false} is VALID [2022-04-28 11:10:35,907 INFO L290 TraceCheckUtils]: 56: Hoare triple {14615#false} assume !false; {14615#false} is VALID [2022-04-28 11:10:35,907 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-28 11:10:35,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:48,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {14615#false} assume !false; {14615#false} is VALID [2022-04-28 11:10:48,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {14794#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14615#false} is VALID [2022-04-28 11:10:48,657 INFO L290 TraceCheckUtils]: 54: Hoare triple {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14794#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:48,658 INFO L272 TraceCheckUtils]: 53: Hoare triple {14810#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14790#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:48,659 INFO L290 TraceCheckUtils]: 52: Hoare triple {14814#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14810#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:10:48,660 INFO L290 TraceCheckUtils]: 51: Hoare triple {14818#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {14814#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:10:48,661 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} {14822#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {14818#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:10:48,661 INFO L290 TraceCheckUtils]: 49: Hoare triple {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:48,661 INFO L290 TraceCheckUtils]: 48: Hoare triple {14832#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:48,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {14614#true} ~cond := #in~cond; {14832#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:10:48,662 INFO L272 TraceCheckUtils]: 46: Hoare triple {14822#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,663 INFO L290 TraceCheckUtils]: 45: Hoare triple {14839#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14822#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:10:48,664 INFO L290 TraceCheckUtils]: 44: Hoare triple {14843#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14839#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 11:10:48,667 INFO L290 TraceCheckUtils]: 43: Hoare triple {14847#(forall ((main_~Y~0 Int) (v_main_~x~0_74 Int)) (or (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_74 (+ main_~y~0 1))) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)))) (<= v_main_~x~0_74 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14843#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-28 11:10:48,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14847#(forall ((main_~Y~0 Int) (v_main_~x~0_74 Int)) (or (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_74 (+ main_~y~0 1))) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-28 11:10:48,668 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-28 11:10:48,668 INFO L290 TraceCheckUtils]: 40: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,668 INFO L290 TraceCheckUtils]: 39: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:48,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L272 TraceCheckUtils]: 37: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 36: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {14614#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 34: Hoare triple {14614#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 29: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L272 TraceCheckUtils]: 28: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {14614#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {14614#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {14614#true} assume !!(~x~0 <= ~X~0); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14614#true} {14614#true} #65#return; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 22: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L272 TraceCheckUtils]: 19: Hoare triple {14614#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,669 INFO L290 TraceCheckUtils]: 18: Hoare triple {14614#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {14614#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14614#true} {14614#true} #63#return; {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L272 TraceCheckUtils]: 12: Hoare triple {14614#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,670 INFO L290 TraceCheckUtils]: 11: Hoare triple {14614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14614#true} {14614#true} #61#return; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {14614#true} assume !(0 == ~cond); {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {14614#true} ~cond := #in~cond; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {14614#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {14614#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {14614#true} call #t~ret8 := main(); {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14614#true} {14614#true} #69#return; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#true} assume true; {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {14614#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {14614#true} is VALID [2022-04-28 11:10:48,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {14614#true} call ULTIMATE.init(); {14614#true} is VALID [2022-04-28 11:10:48,676 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-28 11:10:48,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:48,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1038084119] [2022-04-28 11:10:48,676 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:48,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [185133683] [2022-04-28 11:10:48,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [185133683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:48,676 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:48,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 11:10:48,676 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:48,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1226688139] [2022-04-28 11:10:48,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1226688139] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:48,676 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:48,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:10:48,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772712769] [2022-04-28 11:10:48,677 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:48,677 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 11:10:48,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:48,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:50,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:50,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:10:50,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:50,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:10:50,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=471, Unknown=1, NotChecked=0, Total=552 [2022-04-28 11:10:50,720 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:53,803 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:02,310 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:05,266 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.69s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:06,398 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:08,049 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:10,051 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:12,054 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:14,057 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:15,782 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.72s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:17,820 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:19,960 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:20,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:20,512 INFO L93 Difference]: Finished difference Result 168 states and 199 transitions. [2022-04-28 11:11:20,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:11:20,512 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 11:11:20,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:20,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:20,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 11:11:20,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:20,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 11:11:20,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 71 transitions. [2022-04-28 11:11:23,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:23,016 INFO L225 Difference]: With dead ends: 168 [2022-04-28 11:11:23,016 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 11:11:23,016 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 6.1s TimeCoverageRelationStatistics Valid=151, Invalid=840, Unknown=1, NotChecked=0, Total=992 [2022-04-28 11:11:23,016 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 25 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 536 mSolverCounterSat, 9 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 552 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 536 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.9s IncrementalHoareTripleChecker+Time [2022-04-28 11:11:23,016 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 269 Invalid, 552 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 536 Invalid, 7 Unknown, 0 Unchecked, 20.9s Time] [2022-04-28 11:11:23,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 11:11:23,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 155. [2022-04-28 11:11:23,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:23,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:11:23,416 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:11:23,417 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:11:23,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:23,419 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 11:11:23,419 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 11:11:23,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:23,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:23,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-28 11:11:23,420 INFO L87 Difference]: Start difference. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-28 11:11:23,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:23,422 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 11:11:23,422 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 11:11:23,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:23,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:23,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:23,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:23,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:11:23,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 184 transitions. [2022-04-28 11:11:23,426 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 184 transitions. Word has length 57 [2022-04-28 11:11:23,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:23,426 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 184 transitions. [2022-04-28 11:11:23,426 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:23,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 184 transitions. [2022-04-28 11:11:25,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 183 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:25,900 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 184 transitions. [2022-04-28 11:11:25,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:11:25,901 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:25,901 INFO L195 NwaCegarLoop]: 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-28 11:11:25,916 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:26,101 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:26,102 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:26,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:26,102 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 11:11:26,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:26,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1565861923] [2022-04-28 11:11:26,102 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:26,103 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 11:11:26,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:26,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251287527] [2022-04-28 11:11:26,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:26,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:26,111 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:26,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1298574311] [2022-04-28 11:11:26,111 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:11:26,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:26,111 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:26,112 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:11:26,112 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 11:11:26,330 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:11:26,330 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:26,331 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 11:11:26,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:26,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:43,112 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:49,690 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:54,807 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:12:42,951 WARN L232 SmtUtils]: Spent 5.44s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 11:13:03,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {15961#true} call ULTIMATE.init(); {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {15961#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15961#true} {15961#true} #69#return; {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {15961#true} call #t~ret8 := main(); {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {15961#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {15961#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:03,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {15961#true} ~cond := #in~cond; {15987#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:13:03,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {15987#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15991#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:03,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {15991#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15991#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:03,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15991#(not (= |assume_abort_if_not_#in~cond| 0))} {15961#true} #61#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:03,997 INFO L290 TraceCheckUtils]: 11: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:03,997 INFO L272 TraceCheckUtils]: 12: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:03,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:03,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:03,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:03,997 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:03,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:03,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:03,998 INFO L272 TraceCheckUtils]: 19: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:03,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:03,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:03,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:04,006 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15961#true} {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,006 INFO L290 TraceCheckUtils]: 24: Hoare triple {16020#(and (<= main_~X~0 10) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,007 INFO L290 TraceCheckUtils]: 26: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,007 INFO L272 TraceCheckUtils]: 28: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:04,007 INFO L290 TraceCheckUtils]: 29: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:04,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:04,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:04,008 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #65#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,008 INFO L290 TraceCheckUtils]: 33: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,008 INFO L290 TraceCheckUtils]: 34: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,009 INFO L290 TraceCheckUtils]: 36: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,009 INFO L272 TraceCheckUtils]: 37: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:04,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:04,009 INFO L290 TraceCheckUtils]: 39: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:04,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:04,009 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15961#true} {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #65#return; {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,010 INFO L290 TraceCheckUtils]: 42: Hoare triple {15998#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:04,012 INFO L290 TraceCheckUtils]: 44: Hoare triple {16096#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16103#(and (<= main_~X~0 10) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:13:04,012 INFO L290 TraceCheckUtils]: 45: Hoare triple {16103#(and (<= main_~X~0 10) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16107#(and (<= main_~X~0 10) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:13:04,012 INFO L272 TraceCheckUtils]: 46: Hoare triple {16107#(and (<= main_~X~0 10) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:04,012 INFO L290 TraceCheckUtils]: 47: Hoare triple {15961#true} ~cond := #in~cond; {16114#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:04,013 INFO L290 TraceCheckUtils]: 48: Hoare triple {16114#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:04,013 INFO L290 TraceCheckUtils]: 49: Hoare triple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:04,015 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} {16107#(and (<= main_~X~0 10) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {16125#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:13:04,015 INFO L290 TraceCheckUtils]: 51: Hoare triple {16125#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {16129#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:13:04,058 INFO L290 TraceCheckUtils]: 52: Hoare triple {16129#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {16133#(and (<= main_~X~0 10) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 11:13:04,078 INFO L272 TraceCheckUtils]: 53: Hoare triple {16133#(and (<= main_~X~0 10) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:04,078 INFO L290 TraceCheckUtils]: 54: Hoare triple {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:04,079 INFO L290 TraceCheckUtils]: 55: Hoare triple {16141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15962#false} is VALID [2022-04-28 11:13:04,079 INFO L290 TraceCheckUtils]: 56: Hoare triple {15962#false} assume !false; {15962#false} is VALID [2022-04-28 11:13:04,079 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-28 11:13:04,079 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:13:20,240 INFO L290 TraceCheckUtils]: 56: Hoare triple {15962#false} assume !false; {15962#false} is VALID [2022-04-28 11:13:20,240 INFO L290 TraceCheckUtils]: 55: Hoare triple {16141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15962#false} is VALID [2022-04-28 11:13:20,241 INFO L290 TraceCheckUtils]: 54: Hoare triple {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:20,241 INFO L272 TraceCheckUtils]: 53: Hoare triple {16157#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {16137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:20,243 INFO L290 TraceCheckUtils]: 52: Hoare triple {16161#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {16157#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:20,243 INFO L290 TraceCheckUtils]: 51: Hoare triple {16165#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {16161#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:13:20,244 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} {16169#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {16165#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:13:20,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:20,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {16179#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16118#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:20,245 INFO L290 TraceCheckUtils]: 47: Hoare triple {15961#true} ~cond := #in~cond; {16179#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:13:20,245 INFO L272 TraceCheckUtils]: 46: Hoare triple {16169#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,247 INFO L290 TraceCheckUtils]: 45: Hoare triple {16186#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16169#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:13:20,250 INFO L290 TraceCheckUtils]: 44: Hoare triple {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16186#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 11:13:20,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {16190#(forall ((v_main_~x~0_76 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_76 main_~y~0) 2)) (+ (* 2 (* v_main_~x~0_76 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_76 (+ main_~x~0 1))) (<= v_main_~x~0_76 main_~X~0)))} is VALID [2022-04-28 11:13:20,255 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L272 TraceCheckUtils]: 37: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 35: Hoare triple {15961#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15961#true} is VALID [2022-04-28 11:13:20,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {15961#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 33: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L272 TraceCheckUtils]: 28: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {15961#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {15961#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {15961#true} assume !!(~x~0 <= ~X~0); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15961#true} {15961#true} #65#return; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L272 TraceCheckUtils]: 19: Hoare triple {15961#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {15961#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {15961#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15961#true} {15961#true} #63#return; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L272 TraceCheckUtils]: 12: Hoare triple {15961#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 11: Hoare triple {15961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15961#true} {15961#true} #61#return; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {15961#true} assume !(0 == ~cond); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {15961#true} ~cond := #in~cond; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L272 TraceCheckUtils]: 6: Hoare triple {15961#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {15961#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {15961#true} call #t~ret8 := main(); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15961#true} {15961#true} #69#return; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {15961#true} assume true; {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {15961#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {15961#true} is VALID [2022-04-28 11:13:20,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {15961#true} call ULTIMATE.init(); {15961#true} is VALID [2022-04-28 11:13:20,257 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-28 11:13:20,258 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:20,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251287527] [2022-04-28 11:13:20,258 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:20,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1298574311] [2022-04-28 11:13:20,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1298574311] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:13:20,258 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:13:20,258 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-28 11:13:20,258 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:20,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1565861923] [2022-04-28 11:13:20,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1565861923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:20,258 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:20,258 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:13:20,258 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [868088812] [2022-04-28 11:13:20,258 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:20,259 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-28 11:13:20,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:20,259 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-28 11:13:20,382 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-28 11:13:20,382 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:13:20,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:20,383 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:13:20,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:13:20,383 INFO L87 Difference]: Start difference. First operand 155 states and 184 transitions. Second operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:13:25,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:25,156 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2022-04-28 11:13:25,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:13:25,156 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-28 11:13:25,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:13:25,156 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-28 11:13:25,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 40 transitions. [2022-04-28 11:13:25,157 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-28 11:13:25,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 40 transitions. [2022-04-28 11:13:25,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 40 transitions. [2022-04-28 11:13:25,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:25,346 INFO L225 Difference]: With dead ends: 163 [2022-04-28 11:13:25,346 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 11:13:25,347 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 226 ImplicationChecksByTransitivity, 4.1s TimeCoverageRelationStatistics Valid=206, Invalid=984, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 11:13:25,347 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 26 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 209 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:13:25,347 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 140 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 209 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 11:13:25,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 11:13:25,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 117. [2022-04-28 11:13:25,629 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:13:25,629 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:13:25,630 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:13:25,630 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:13:25,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:25,634 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 11:13:25,634 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 11:13:25,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:25,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:25,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-28 11:13:25,634 INFO L87 Difference]: Start difference. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-28 11:13:25,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:25,636 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 11:13:25,636 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 11:13:25,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:25,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:25,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:13:25,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:13:25,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:13:25,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 129 transitions. [2022-04-28 11:13:25,638 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 129 transitions. Word has length 57 [2022-04-28 11:13:25,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:13:25,638 INFO L495 AbstractCegarLoop]: Abstraction has 117 states and 129 transitions. [2022-04-28 11:13:25,638 INFO L496 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-28 11:13:25,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 117 states and 129 transitions. [2022-04-28 11:13:27,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:27,479 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 129 transitions. [2022-04-28 11:13:27,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:13:27,480 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:13:27,480 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:13:27,486 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 11:13:27,684 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 11:13:27,684 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:13:27,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:13:27,684 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-28 11:13:27,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:27,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2130584724] [2022-04-28 11:13:27,685 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:13:27,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-28 11:13:27,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:13:27,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [536628441] [2022-04-28 11:13:27,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:13:27,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:13:27,693 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:13:27,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1263114923] [2022-04-28 11:13:27,693 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:13:27,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:13:27,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:13:27,694 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:13:27,695 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 11:13:27,737 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:13:27,737 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:13:27,738 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 66 conjunts are in the unsatisfiable core [2022-04-28 11:13:27,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:13:27,753 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:13:30,361 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:38,500 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:48,661 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:51,955 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:52,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {17219#true} call ULTIMATE.init(); {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {17219#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17219#true} {17219#true} #69#return; {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {17219#true} call #t~ret8 := main(); {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {17219#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {17219#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {17219#true} ~cond := #in~cond; {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:13:52,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:52,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:52,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} {17219#true} #61#return; {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:52,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:13:52,524 INFO L272 TraceCheckUtils]: 12: Hoare triple {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {17219#true} ~cond := #in~cond; {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:13:52,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {17245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:52,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:13:52,525 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17249#(not (= |assume_abort_if_not_#in~cond| 0))} {17256#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {17275#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {17275#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,526 INFO L272 TraceCheckUtils]: 19: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:52,526 INFO L290 TraceCheckUtils]: 21: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:52,526 INFO L290 TraceCheckUtils]: 22: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:52,526 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17219#true} {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {17279#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17304#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,528 INFO L290 TraceCheckUtils]: 26: Hoare triple {17304#(and (= main_~x~0 0) (<= main_~X~0 10) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17308#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,528 INFO L290 TraceCheckUtils]: 27: Hoare triple {17308#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,528 INFO L272 TraceCheckUtils]: 28: Hoare triple {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:52,529 INFO L290 TraceCheckUtils]: 30: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,530 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17312#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} #65#return; {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,531 INFO L290 TraceCheckUtils]: 33: Hoare triple {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,532 INFO L290 TraceCheckUtils]: 34: Hoare triple {17330#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17337#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {17337#(and (<= main_~X~0 10) (<= 1 main_~x~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17341#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,533 INFO L290 TraceCheckUtils]: 36: Hoare triple {17341#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,533 INFO L272 TraceCheckUtils]: 37: Hoare triple {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,533 INFO L290 TraceCheckUtils]: 38: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:52,534 INFO L290 TraceCheckUtils]: 39: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,534 INFO L290 TraceCheckUtils]: 40: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,535 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17345#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} #65#return; {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,535 INFO L290 TraceCheckUtils]: 42: Hoare triple {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,536 INFO L290 TraceCheckUtils]: 43: Hoare triple {17361#(and (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17368#(and (<= main_~X~0 10) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 6)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:13:52,537 INFO L290 TraceCheckUtils]: 44: Hoare triple {17368#(and (<= main_~X~0 10) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 6)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17372#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,537 INFO L290 TraceCheckUtils]: 45: Hoare triple {17372#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,537 INFO L272 TraceCheckUtils]: 46: Hoare triple {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:52,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {17219#true} ~cond := #in~cond; {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:52,538 INFO L290 TraceCheckUtils]: 48: Hoare triple {17319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,538 INFO L290 TraceCheckUtils]: 49: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:52,539 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17376#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 10))} #65#return; {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,540 INFO L290 TraceCheckUtils]: 51: Hoare triple {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:13:52,540 INFO L290 TraceCheckUtils]: 52: Hoare triple {17392#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 8)) (<= main_~X~0 10) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= 3 main_~x~0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17399#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 3 main_~x~0))} is VALID [2022-04-28 11:13:52,543 INFO L290 TraceCheckUtils]: 53: Hoare triple {17399#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 3 main_~x~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17403#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (<= 4 main_~x~0))} is VALID [2022-04-28 11:13:52,546 INFO L290 TraceCheckUtils]: 54: Hoare triple {17403#(and (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (<= 4 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17407#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 4 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (= main_~xy~0 0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:13:52,549 INFO L272 TraceCheckUtils]: 55: Hoare triple {17407#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 4 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (= main_~xy~0 0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:52,549 INFO L290 TraceCheckUtils]: 56: Hoare triple {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17415#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:52,549 INFO L290 TraceCheckUtils]: 57: Hoare triple {17415#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17220#false} is VALID [2022-04-28 11:13:52,549 INFO L290 TraceCheckUtils]: 58: Hoare triple {17220#false} assume !false; {17220#false} is VALID [2022-04-28 11:13:52,550 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:13:52,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:13:57,156 INFO L290 TraceCheckUtils]: 58: Hoare triple {17220#false} assume !false; {17220#false} is VALID [2022-04-28 11:13:57,156 INFO L290 TraceCheckUtils]: 57: Hoare triple {17415#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17220#false} is VALID [2022-04-28 11:13:57,157 INFO L290 TraceCheckUtils]: 56: Hoare triple {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17415#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:57,157 INFO L272 TraceCheckUtils]: 55: Hoare triple {17431#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17411#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:57,158 INFO L290 TraceCheckUtils]: 54: Hoare triple {17435#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17431#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:13:57,160 INFO L290 TraceCheckUtils]: 53: Hoare triple {17439#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17435#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:57,161 INFO L290 TraceCheckUtils]: 52: Hoare triple {17443#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17439#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:13:57,161 INFO L290 TraceCheckUtils]: 51: Hoare triple {17443#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {17443#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:13:57,162 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} {17450#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {17443#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:13:57,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:57,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {17460#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:57,163 INFO L290 TraceCheckUtils]: 47: Hoare triple {17219#true} ~cond := #in~cond; {17460#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:13:57,163 INFO L272 TraceCheckUtils]: 46: Hoare triple {17450#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 45: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17450#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 43: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 42: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L272 TraceCheckUtils]: 37: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 35: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:57,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L272 TraceCheckUtils]: 28: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {17219#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {17219#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {17219#true} assume !!(~x~0 <= ~X~0); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17219#true} {17219#true} #65#return; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 22: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 21: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L272 TraceCheckUtils]: 19: Hoare triple {17219#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {17219#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {17219#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17219#true} {17219#true} #63#return; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L272 TraceCheckUtils]: 12: Hoare triple {17219#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {17219#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17219#true} {17219#true} #61#return; {17219#true} is VALID [2022-04-28 11:13:57,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {17219#true} assume !(0 == ~cond); {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {17219#true} ~cond := #in~cond; {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {17219#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {17219#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {17219#true} call #t~ret8 := main(); {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17219#true} {17219#true} #69#return; {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {17219#true} assume true; {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {17219#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {17219#true} call ULTIMATE.init(); {17219#true} is VALID [2022-04-28 11:13:57,166 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:13:57,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:57,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [536628441] [2022-04-28 11:13:57,166 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:57,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1263114923] [2022-04-28 11:13:57,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1263114923] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:13:57,166 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:13:57,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 11] total 32 [2022-04-28 11:13:57,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:57,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2130584724] [2022-04-28 11:13:57,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2130584724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:57,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:57,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 11:13:57,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1016517814] [2022-04-28 11:13:57,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:57,167 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 11:13:57,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:57,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:13:57,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:57,230 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 11:13:57,230 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:57,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 11:13:57,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=860, Unknown=0, NotChecked=0, Total=992 [2022-04-28 11:13:57,231 INFO L87 Difference]: Start difference. First operand 117 states and 129 transitions. Second operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:14:00,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:00,730 INFO L93 Difference]: Finished difference Result 153 states and 171 transitions. [2022-04-28 11:14:00,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 11:14:00,730 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 11:14:00,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:14:00,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:14:00,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-28 11:14:00,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:14:00,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-28 11:14:00,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 84 transitions. [2022-04-28 11:14:00,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:00,836 INFO L225 Difference]: With dead ends: 153 [2022-04-28 11:14:00,836 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:14:00,837 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 324 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=219, Invalid=1341, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 11:14:00,837 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 44 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 744 mSolverCounterSat, 64 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 808 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 64 IncrementalHoareTripleChecker+Valid, 744 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:14:00,837 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 125 Invalid, 808 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [64 Valid, 744 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 11:14:00,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:14:01,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 11:14:01,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:14:01,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:14:01,166 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:14:01,166 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:14:01,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:01,168 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 11:14:01,168 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:14:01,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:01,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:01,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:14:01,168 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:14:01,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:01,169 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 11:14:01,170 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:14:01,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:01,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:01,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:14:01,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:14:01,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:14:01,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 144 transitions. [2022-04-28 11:14:01,171 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 144 transitions. Word has length 59 [2022-04-28 11:14:01,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:14:01,172 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 144 transitions. [2022-04-28 11:14:01,172 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:14:01,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 144 transitions. [2022-04-28 11:14:03,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 143 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:03,529 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:14:03,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:14:03,530 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:14:03,530 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:14:03,545 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 11:14:03,730 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 11:14:03,730 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:14:03,730 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:14:03,730 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-28 11:14:03,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:03,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [511854639] [2022-04-28 11:14:03,731 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:14:03,731 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-28 11:14:03,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:14:03,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1852636182] [2022-04-28 11:14:03,731 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:14:03,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:14:03,739 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:14:03,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [382810153] [2022-04-28 11:14:03,739 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:14:03,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:03,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:14:03,740 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:14:03,741 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 11:14:03,780 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:14:03,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:14:03,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 11:14:03,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:14:03,798 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:32,223 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:35,412 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:57,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {18454#true} call ULTIMATE.init(); {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {18454#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18454#true} {18454#true} #69#return; {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {18454#true} call #t~ret8 := main(); {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {18454#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {18454#true} is VALID [2022-04-28 11:14:57,077 INFO L272 TraceCheckUtils]: 6: Hoare triple {18454#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18454#true} {18454#true} #61#return; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {18454#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L272 TraceCheckUtils]: 12: Hoare triple {18454#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 14: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18454#true} {18454#true} #63#return; {18454#true} is VALID [2022-04-28 11:14:57,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {18454#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:14:57,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:14:57,079 INFO L272 TraceCheckUtils]: 19: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:14:57,079 INFO L290 TraceCheckUtils]: 20: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:14:57,079 INFO L290 TraceCheckUtils]: 21: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:14:57,079 INFO L290 TraceCheckUtils]: 22: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:14:57,079 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18454#true} {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:14:57,080 INFO L290 TraceCheckUtils]: 24: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:14:57,081 INFO L290 TraceCheckUtils]: 25: Hoare triple {18510#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:57,081 INFO L290 TraceCheckUtils]: 26: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:59,084 WARN L290 TraceCheckUtils]: 27: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is UNKNOWN [2022-04-28 11:14:59,084 INFO L272 TraceCheckUtils]: 28: Hoare triple {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:14:59,085 INFO L290 TraceCheckUtils]: 29: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:59,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:59,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:59,086 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18542#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:59,086 INFO L290 TraceCheckUtils]: 33: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:59,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {18535#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:14:59,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:15:01,091 WARN L290 TraceCheckUtils]: 36: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-28 11:15:01,091 INFO L272 TraceCheckUtils]: 37: Hoare triple {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:01,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:01,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:01,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:01,092 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18573#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:15:01,093 INFO L290 TraceCheckUtils]: 42: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:15:01,093 INFO L290 TraceCheckUtils]: 43: Hoare triple {18566#(and (= (+ main_~X~0 main_~v~0 (* main_~Y~0 (- 4))) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,094 INFO L290 TraceCheckUtils]: 44: Hoare triple {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {18595#(and (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,094 INFO L272 TraceCheckUtils]: 46: Hoare triple {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:01,094 INFO L290 TraceCheckUtils]: 47: Hoare triple {18454#true} ~cond := #in~cond; {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:01,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {18549#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:01,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:01,096 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18602#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #65#return; {18618#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,096 INFO L290 TraceCheckUtils]: 51: Hoare triple {18618#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !!(~x~0 <= ~X~0); {18618#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,097 INFO L290 TraceCheckUtils]: 52: Hoare triple {18618#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {18625#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,105 INFO L290 TraceCheckUtils]: 53: Hoare triple {18625#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18629#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:15:01,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {18629#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18633#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:15:01,113 INFO L272 TraceCheckUtils]: 55: Hoare triple {18633#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* (- 1) main_~X~0))) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:15:01,113 INFO L290 TraceCheckUtils]: 56: Hoare triple {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18641#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:01,113 INFO L290 TraceCheckUtils]: 57: Hoare triple {18641#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18455#false} is VALID [2022-04-28 11:15:01,114 INFO L290 TraceCheckUtils]: 58: Hoare triple {18455#false} assume !false; {18455#false} is VALID [2022-04-28 11:15:01,114 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:15:01,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:15:02,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {18455#false} assume !false; {18455#false} is VALID [2022-04-28 11:15:02,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {18641#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18455#false} is VALID [2022-04-28 11:15:02,358 INFO L290 TraceCheckUtils]: 56: Hoare triple {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18641#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:02,359 INFO L272 TraceCheckUtils]: 55: Hoare triple {18657#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18637#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:15:02,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18657#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:15:02,362 INFO L290 TraceCheckUtils]: 53: Hoare triple {18665#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:02,364 INFO L290 TraceCheckUtils]: 52: Hoare triple {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {18665#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:15:02,364 INFO L290 TraceCheckUtils]: 51: Hoare triple {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:02,365 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} {18675#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {18661#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:02,365 INFO L290 TraceCheckUtils]: 49: Hoare triple {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:02,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {18685#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18553#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:02,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {18454#true} ~cond := #in~cond; {18685#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:15:02,366 INFO L272 TraceCheckUtils]: 46: Hoare triple {18675#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18675#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 44: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 43: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 42: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 40: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 39: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L272 TraceCheckUtils]: 37: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 36: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 35: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-28 11:15:02,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 33: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L272 TraceCheckUtils]: 28: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 26: Hoare triple {18454#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {18454#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 24: Hoare triple {18454#true} assume !!(~x~0 <= ~X~0); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18454#true} {18454#true} #65#return; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L272 TraceCheckUtils]: 19: Hoare triple {18454#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {18454#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {18454#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18454#true} {18454#true} #63#return; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:15:02,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {18454#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {18454#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18454#true} {18454#true} #61#return; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {18454#true} assume !(0 == ~cond); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {18454#true} ~cond := #in~cond; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {18454#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {18454#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {18454#true} call #t~ret8 := main(); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18454#true} {18454#true} #69#return; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {18454#true} assume true; {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {18454#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {18454#true} call ULTIMATE.init(); {18454#true} is VALID [2022-04-28 11:15:02,369 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:15:02,369 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:15:02,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1852636182] [2022-04-28 11:15:02,370 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:15:02,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [382810153] [2022-04-28 11:15:02,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [382810153] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:15:02,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:15:02,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-28 11:15:02,370 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:15:02,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [511854639] [2022-04-28 11:15:02,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [511854639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:15:02,370 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:15:02,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:15:02,370 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2103039572] [2022-04-28 11:15:02,370 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:15:02,370 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:15:02,370 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:15:02,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:15:06,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:15:06,447 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:15:06,447 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:15:06,447 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:15:06,447 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=405, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:15:06,447 INFO L87 Difference]: Start difference. First operand 132 states and 144 transitions. Second operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:15:08,683 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:15:12,076 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:15:13,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:13,459 INFO L93 Difference]: Finished difference Result 143 states and 155 transitions. [2022-04-28 11:15:13,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:15:13,459 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:15:13,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:15:13,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:15:13,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 11:15:13,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:15:13,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 11:15:13,468 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-28 11:15:17,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:15:17,581 INFO L225 Difference]: With dead ends: 143 [2022-04-28 11:15:17,581 INFO L226 Difference]: Without dead ends: 141 [2022-04-28 11:15:17,581 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=85, Invalid=565, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:15:17,581 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 19 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 5 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 509 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:15:17,582 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 241 Invalid, 509 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 502 Invalid, 2 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 11:15:17,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-28 11:15:17,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 132. [2022-04-28 11:15:17,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:15:17,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:15:17,915 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:15:17,915 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:15:17,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:17,916 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-04-28 11:15:17,916 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-04-28 11:15:17,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:15:17,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:15:17,917 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 141 states. [2022-04-28 11:15:17,917 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 141 states. [2022-04-28 11:15:17,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:17,919 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-04-28 11:15:17,919 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-04-28 11:15:17,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:15:17,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:15:17,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:15:17,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:15:17,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 101 states have internal predecessors, (107), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:15:17,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 144 transitions. [2022-04-28 11:15:17,921 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 144 transitions. Word has length 59 [2022-04-28 11:15:17,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:15:17,921 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 144 transitions. [2022-04-28 11:15:17,921 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:15:17,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 144 transitions. [2022-04-28 11:15:20,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 143 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:15:20,401 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:15:20,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:15:20,402 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:15:20,402 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:15:20,421 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 11:15:20,621 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:15:20,622 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:15:20,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:15:20,622 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-28 11:15:20,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:15:20,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1143391317] [2022-04-28 11:15:20,622 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:15:20,622 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-28 11:15:20,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:15:20,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1186815120] [2022-04-28 11:15:20,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:15:20,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:15:20,632 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:15:20,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [459251185] [2022-04-28 11:15:20,632 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:15:20,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:15:20,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:15:20,633 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:15:20,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 11:15:20,680 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:15:20,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:15:20,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 11:15:20,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:15:20,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:15:37,779 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:15:39,995 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:15:40,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {19669#true} call ULTIMATE.init(); {19669#true} is VALID [2022-04-28 11:15:40,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {19669#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {19669#true} is VALID [2022-04-28 11:15:40,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:40,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19669#true} {19669#true} #69#return; {19669#true} is VALID [2022-04-28 11:15:40,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {19669#true} call #t~ret8 := main(); {19669#true} is VALID [2022-04-28 11:15:40,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {19669#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {19669#true} is VALID [2022-04-28 11:15:40,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {19669#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {19669#true} ~cond := #in~cond; {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:15:40,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:15:40,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:15:40,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} {19669#true} #61#return; {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:15:40,323 INFO L290 TraceCheckUtils]: 11: Hoare triple {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-28 11:15:40,323 INFO L272 TraceCheckUtils]: 12: Hoare triple {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {19669#true} ~cond := #in~cond; {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:15:40,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {19695#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:15:40,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19699#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:15:40,324 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19699#(not (= |assume_abort_if_not_#in~cond| 0))} {19706#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {19725#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {19725#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,326 INFO L290 TraceCheckUtils]: 18: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,326 INFO L272 TraceCheckUtils]: 19: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:40,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:40,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:40,327 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19669#true} {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} #65#return; {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {19729#(and (= main_~x~0 0) (<= main_~X~0 10) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19754#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,328 INFO L290 TraceCheckUtils]: 26: Hoare triple {19754#(and (= main_~x~0 0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,329 INFO L272 TraceCheckUtils]: 28: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:40,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:40,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:40,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19669#true} {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} #65#return; {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} is VALID [2022-04-28 11:15:40,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {19758#(and (<= main_~X~0 10) (<= main_~x~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19783#(and (<= main_~X~0 10) (<= main_~x~0 1) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} is VALID [2022-04-28 11:15:40,332 INFO L290 TraceCheckUtils]: 35: Hoare triple {19783#(and (<= main_~X~0 10) (<= main_~x~0 1) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:15:40,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:15:40,333 INFO L272 TraceCheckUtils]: 37: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:40,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:40,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:40,334 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19669#true} {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} #65#return; {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:15:40,334 INFO L290 TraceCheckUtils]: 42: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:15:40,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {19787#(and (<= main_~X~0 10) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19812#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 2))} is VALID [2022-04-28 11:15:40,336 INFO L290 TraceCheckUtils]: 44: Hoare triple {19812#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19816#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-28 11:15:40,336 INFO L290 TraceCheckUtils]: 45: Hoare triple {19816#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:15:40,336 INFO L272 TraceCheckUtils]: 46: Hoare triple {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:40,336 INFO L290 TraceCheckUtils]: 47: Hoare triple {19669#true} ~cond := #in~cond; {19827#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:40,337 INFO L290 TraceCheckUtils]: 48: Hoare triple {19827#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:40,337 INFO L290 TraceCheckUtils]: 49: Hoare triple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:40,338 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} {19820#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-28 11:15:40,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume !!(~x~0 <= ~X~0); {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} is VALID [2022-04-28 11:15:40,339 INFO L290 TraceCheckUtils]: 52: Hoare triple {19838#(and (<= main_~X~0 10) (<= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~x~0 3))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19845#(and (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (<= main_~x~0 3) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:15:40,341 INFO L290 TraceCheckUtils]: 53: Hoare triple {19845#(and (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (<= main_~x~0 3) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19849#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~x~0 4) (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:15:40,345 INFO L290 TraceCheckUtils]: 54: Hoare triple {19849#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~x~0 4) (<= main_~X~0 10) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19853#(and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~X~0 10) (<= (div main_~yx~0 main_~Y~0) 4) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (= (mod main_~yx~0 main_~Y~0) 0))} is VALID [2022-04-28 11:15:40,346 INFO L272 TraceCheckUtils]: 55: Hoare triple {19853#(and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~X~0 10) (<= (div main_~yx~0 main_~Y~0) 4) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 10) (+ main_~v~0 (* main_~X~0 3))) (= (mod main_~yx~0 main_~Y~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:15:40,346 INFO L290 TraceCheckUtils]: 56: Hoare triple {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19861#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:40,347 INFO L290 TraceCheckUtils]: 57: Hoare triple {19861#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19670#false} is VALID [2022-04-28 11:15:40,347 INFO L290 TraceCheckUtils]: 58: Hoare triple {19670#false} assume !false; {19670#false} is VALID [2022-04-28 11:15:40,347 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 16 proven. 39 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:15:40,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:15:43,556 INFO L290 TraceCheckUtils]: 58: Hoare triple {19670#false} assume !false; {19670#false} is VALID [2022-04-28 11:15:43,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {19861#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19670#false} is VALID [2022-04-28 11:15:43,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19861#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:43,558 INFO L272 TraceCheckUtils]: 55: Hoare triple {19877#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19857#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:15:43,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19877#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:15:43,561 INFO L290 TraceCheckUtils]: 53: Hoare triple {19885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:43,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:15:43,563 INFO L290 TraceCheckUtils]: 51: Hoare triple {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:43,563 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} {19895#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {19881#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:15:43,563 INFO L290 TraceCheckUtils]: 49: Hoare triple {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:43,564 INFO L290 TraceCheckUtils]: 48: Hoare triple {19905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19831#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:43,564 INFO L290 TraceCheckUtils]: 47: Hoare triple {19669#true} ~cond := #in~cond; {19905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:15:43,564 INFO L272 TraceCheckUtils]: 46: Hoare triple {19895#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19895#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {19669#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 42: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 39: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L290 TraceCheckUtils]: 38: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:43,565 INFO L272 TraceCheckUtils]: 37: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {19669#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 30: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 29: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L272 TraceCheckUtils]: 28: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {19669#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {19669#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {19669#true} assume !!(~x~0 <= ~X~0); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19669#true} {19669#true} #65#return; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L272 TraceCheckUtils]: 19: Hoare triple {19669#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {19669#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L290 TraceCheckUtils]: 17: Hoare triple {19669#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19669#true} is VALID [2022-04-28 11:15:43,566 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19669#true} {19669#true} #63#return; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L272 TraceCheckUtils]: 12: Hoare triple {19669#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {19669#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19669#true} {19669#true} #61#return; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 9: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {19669#true} assume !(0 == ~cond); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {19669#true} ~cond := #in~cond; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L272 TraceCheckUtils]: 6: Hoare triple {19669#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {19669#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {19669#true} call #t~ret8 := main(); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19669#true} {19669#true} #69#return; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {19669#true} assume true; {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {19669#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {19669#true} call ULTIMATE.init(); {19669#true} is VALID [2022-04-28 11:15:43,567 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:15:43,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:15:43,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1186815120] [2022-04-28 11:15:43,568 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:15:43,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459251185] [2022-04-28 11:15:43,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459251185] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:15:43,568 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:15:43,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-28 11:15:43,568 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:15:43,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1143391317] [2022-04-28 11:15:43,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1143391317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:15:43,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:15:43,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 11:15:43,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575941620] [2022-04-28 11:15:43,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:15:43,569 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 11:15:43,569 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:15:43,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:15:43,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:15:43,616 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 11:15:43,617 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:15:43,617 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 11:15:43,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=605, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:15:43,617 INFO L87 Difference]: Start difference. First operand 132 states and 144 transitions. Second operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:15:49,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:49,895 INFO L93 Difference]: Finished difference Result 162 states and 179 transitions. [2022-04-28 11:15:49,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 11:15:49,895 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 11:15:49,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:15:49,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:15:49,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-28 11:15:49,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:15:49,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-28 11:15:49,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-28 11:15:50,002 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-28 11:15:50,004 INFO L225 Difference]: With dead ends: 162 [2022-04-28 11:15:50,004 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 11:15:50,005 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 274 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=142, Invalid=914, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 11:15:50,005 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 505 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 525 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 505 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:15:50,005 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 113 Invalid, 525 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 505 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 11:15:50,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 11:15:50,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 144. [2022-04-28 11:15:50,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:15:50,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:15:50,396 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:15:50,396 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:15:50,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:50,398 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-04-28 11:15:50,398 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-04-28 11:15:50,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:15:50,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:15:50,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 146 states. [2022-04-28 11:15:50,398 INFO L87 Difference]: Start difference. First operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 146 states. [2022-04-28 11:15:50,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:15:50,400 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-04-28 11:15:50,400 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-04-28 11:15:50,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:15:50,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:15:50,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:15:50,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:15:50,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 107 states have (on average 1.0841121495327102) internal successors, (116), 111 states have internal predecessors, (116), 21 states have call successors, (21), 16 states have call predecessors, (21), 15 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:15:50,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 157 transitions. [2022-04-28 11:15:50,402 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 157 transitions. Word has length 59 [2022-04-28 11:15:50,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:15:50,402 INFO L495 AbstractCegarLoop]: Abstraction has 144 states and 157 transitions. [2022-04-28 11:15:50,402 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 1.7) internal successors, (34), 20 states have internal predecessors, (34), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 11:15:50,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 157 transitions. [2022-04-28 11:15:52,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 156 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:15:52,823 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 157 transitions. [2022-04-28 11:15:52,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:15:52,823 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:15:52,823 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:15:52,839 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 11:15:53,024 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:15:53,024 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:15:53,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:15:53,024 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-28 11:15:53,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:15:53,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [811326102] [2022-04-28 11:15:53,025 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:15:53,025 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-28 11:15:53,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:15:53,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409870278] [2022-04-28 11:15:53,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:15:53,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:15:53,033 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:15:53,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2090687336] [2022-04-28 11:15:53,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:15:53,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:15:53,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:15:53,034 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:15:53,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 11:15:53,076 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:15:53,076 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:15:53,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-28 11:15:53,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:15:53,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:20,289 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:23,005 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:37,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {20965#true} call ULTIMATE.init(); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {20965#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20965#true} {20965#true} #69#return; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L272 TraceCheckUtils]: 4: Hoare triple {20965#true} call #t~ret8 := main(); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 5: Hoare triple {20965#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L272 TraceCheckUtils]: 6: Hoare triple {20965#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20965#true} {20965#true} #61#return; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {20965#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L272 TraceCheckUtils]: 12: Hoare triple {20965#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:37,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20965#true} {20965#true} #63#return; {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 17: Hoare triple {20965#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:16:37,824 INFO L272 TraceCheckUtils]: 19: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:37,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:37,825 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20965#true} {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:16:37,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:16:37,826 INFO L290 TraceCheckUtils]: 25: Hoare triple {21021#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:37,826 INFO L290 TraceCheckUtils]: 26: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:39,829 WARN L290 TraceCheckUtils]: 27: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-28 11:16:39,829 INFO L272 TraceCheckUtils]: 28: Hoare triple {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:39,830 INFO L290 TraceCheckUtils]: 29: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:39,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:39,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:39,831 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21053#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:39,831 INFO L290 TraceCheckUtils]: 33: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:39,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {21046#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-28 11:16:39,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-28 11:16:41,835 WARN L290 TraceCheckUtils]: 36: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0))} is UNKNOWN [2022-04-28 11:16:41,835 INFO L272 TraceCheckUtils]: 37: Hoare triple {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:41,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:41,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:41,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:41,837 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21084#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0))} #65#return; {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-28 11:16:41,837 INFO L290 TraceCheckUtils]: 42: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-28 11:16:41,838 INFO L290 TraceCheckUtils]: 43: Hoare triple {21077#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:41,838 INFO L290 TraceCheckUtils]: 44: Hoare triple {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:41,838 INFO L290 TraceCheckUtils]: 45: Hoare triple {21106#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:16:41,838 INFO L272 TraceCheckUtils]: 46: Hoare triple {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:41,839 INFO L290 TraceCheckUtils]: 47: Hoare triple {20965#true} ~cond := #in~cond; {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:41,839 INFO L290 TraceCheckUtils]: 48: Hoare triple {21060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:41,839 INFO L290 TraceCheckUtils]: 49: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:41,840 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21113#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:16:41,841 INFO L290 TraceCheckUtils]: 51: Hoare triple {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:16:41,842 INFO L290 TraceCheckUtils]: 52: Hoare triple {21129#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21136#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= main_~y~0 1) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:41,846 INFO L290 TraceCheckUtils]: 53: Hoare triple {21136#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= main_~y~0 1) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21140#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (= (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:41,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {21140#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (= (+ main_~X~0 (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21144#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:16:41,853 INFO L272 TraceCheckUtils]: 55: Hoare triple {21144#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:41,853 INFO L290 TraceCheckUtils]: 56: Hoare triple {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:41,854 INFO L290 TraceCheckUtils]: 57: Hoare triple {21152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20966#false} is VALID [2022-04-28 11:16:41,854 INFO L290 TraceCheckUtils]: 58: Hoare triple {20966#false} assume !false; {20966#false} is VALID [2022-04-28 11:16:41,854 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:16:41,854 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:44,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {20966#false} assume !false; {20966#false} is VALID [2022-04-28 11:16:44,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {21152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20966#false} is VALID [2022-04-28 11:16:44,570 INFO L290 TraceCheckUtils]: 56: Hoare triple {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:44,570 INFO L272 TraceCheckUtils]: 55: Hoare triple {21168#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:44,571 INFO L290 TraceCheckUtils]: 54: Hoare triple {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21168#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:16:44,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {21176#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:16:44,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21176#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:16:44,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:16:44,576 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} {21186#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {21172#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:16:44,576 INFO L290 TraceCheckUtils]: 49: Hoare triple {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:44,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {21196#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {21064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:44,577 INFO L290 TraceCheckUtils]: 47: Hoare triple {20965#true} ~cond := #in~cond; {21196#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:16:44,577 INFO L272 TraceCheckUtils]: 46: Hoare triple {21186#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21186#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {20965#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 39: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 38: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L272 TraceCheckUtils]: 37: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 36: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 34: Hoare triple {20965#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 33: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:44,579 INFO L272 TraceCheckUtils]: 28: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {20965#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {20965#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {20965#true} assume !!(~x~0 <= ~X~0); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20965#true} {20965#true} #65#return; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L272 TraceCheckUtils]: 19: Hoare triple {20965#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {20965#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 17: Hoare triple {20965#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20965#true} {20965#true} #63#return; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L272 TraceCheckUtils]: 12: Hoare triple {20965#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {20965#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20965#true} {20965#true} #61#return; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {20965#true} assume !(0 == ~cond); {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {20965#true} ~cond := #in~cond; {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {20965#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {20965#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {20965#true} call #t~ret8 := main(); {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20965#true} {20965#true} #69#return; {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {20965#true} assume true; {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {20965#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {20965#true} call ULTIMATE.init(); {20965#true} is VALID [2022-04-28 11:16:44,581 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:16:44,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:44,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409870278] [2022-04-28 11:16:44,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:44,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2090687336] [2022-04-28 11:16:44,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2090687336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:44,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:44,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-28 11:16:44,582 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:44,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [811326102] [2022-04-28 11:16:44,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [811326102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:44,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:44,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:16:44,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725993978] [2022-04-28 11:16:44,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:44,582 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:44,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:44,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:48,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:48,651 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:16:48,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:48,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:16:48,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=405, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:16:48,652 INFO L87 Difference]: Start difference. First operand 144 states and 157 transitions. Second operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:51,305 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:16:54,516 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:16:56,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:56,120 INFO L93 Difference]: Finished difference Result 157 states and 172 transitions. [2022-04-28 11:16:56,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:16:56,120 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:56,120 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:56,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:56,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 11:16:56,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:56,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 11:16:56,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-28 11:17:00,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:17:00,231 INFO L225 Difference]: With dead ends: 157 [2022-04-28 11:17:00,232 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 11:17:00,232 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=85, Invalid=565, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:17:00,232 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 467 mSolverCounterSat, 4 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 473 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 467 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:17:00,232 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 230 Invalid, 473 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 467 Invalid, 2 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 11:17:00,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 11:17:00,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 153. [2022-04-28 11:17:00,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:17:00,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:00,634 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:00,635 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:00,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:17:00,636 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2022-04-28 11:17:00,636 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2022-04-28 11:17:00,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:17:00,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:17:00,637 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 155 states. [2022-04-28 11:17:00,637 INFO L87 Difference]: Start difference. First operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 155 states. [2022-04-28 11:17:00,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:17:00,638 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2022-04-28 11:17:00,638 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2022-04-28 11:17:00,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:17:00,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:17:00,639 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:17:00,639 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:17:00,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 114 states have (on average 1.087719298245614) internal successors, (124), 118 states have internal predecessors, (124), 22 states have call successors, (22), 17 states have call predecessors, (22), 16 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:00,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 167 transitions. [2022-04-28 11:17:00,640 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 167 transitions. Word has length 59 [2022-04-28 11:17:00,641 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:17:00,641 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 167 transitions. [2022-04-28 11:17:00,641 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 16 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:00,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 167 transitions. [2022-04-28 11:17:02,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:17:02,965 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 167 transitions. [2022-04-28 11:17:02,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:17:02,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:17:02,966 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:17:02,982 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 11:17:03,167 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 11:17:03,167 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:17:03,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:17:03,167 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 21 times [2022-04-28 11:17:03,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:17:03,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [172725536] [2022-04-28 11:17:03,168 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:17:03,168 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 22 times [2022-04-28 11:17:03,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:17:03,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [820153386] [2022-04-28 11:17:03,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:17:03,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:17:03,179 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:17:03,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1693788996] [2022-04-28 11:17:03,179 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:17:03,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:17:03,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:17:03,180 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:17:03,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 11:17:03,221 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:17:03,221 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:17:03,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-28 11:17:03,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:17:03,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:17:03,526 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:11,318 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:15,557 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:20,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {22278#true} call ULTIMATE.init(); {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {22278#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22278#true} {22278#true} #69#return; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {22278#true} call #t~ret8 := main(); {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {22278#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {22278#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22278#true} {22278#true} #61#return; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {22278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {22278#true} is VALID [2022-04-28 11:17:20,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {22278#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22278#true} {22278#true} #63#return; {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {22278#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:17:20,765 INFO L272 TraceCheckUtils]: 19: Hoare triple {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:20,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:20,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:20,766 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22278#true} {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:17:20,766 INFO L290 TraceCheckUtils]: 24: Hoare triple {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:17:20,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {22334#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22359#(and (= main_~x~0 0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:17:20,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {22359#(and (= main_~x~0 0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22363#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:17:20,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {22363#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:17:20,768 INFO L272 TraceCheckUtils]: 28: Hoare triple {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:17:20,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,771 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22367#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:17:20,771 INFO L290 TraceCheckUtils]: 33: Hoare triple {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:17:20,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {22385#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22392#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:17:20,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {22392#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22396#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} is VALID [2022-04-28 11:17:20,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {22396#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} is VALID [2022-04-28 11:17:20,774 INFO L272 TraceCheckUtils]: 37: Hoare triple {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,775 INFO L290 TraceCheckUtils]: 38: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:17:20,775 INFO L290 TraceCheckUtils]: 39: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,784 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22400#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (+ (div main_~Y~0 main_~Y~0) 1) main_~x~0))} #65#return; {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-28 11:17:20,784 INFO L290 TraceCheckUtils]: 42: Hoare triple {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} assume !!(~x~0 <= ~X~0); {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-28 11:17:20,786 INFO L290 TraceCheckUtils]: 43: Hoare triple {22416#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22423#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:17:20,788 INFO L290 TraceCheckUtils]: 44: Hoare triple {22423#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22427#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:17:20,789 INFO L290 TraceCheckUtils]: 45: Hoare triple {22427#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:17:20,789 INFO L272 TraceCheckUtils]: 46: Hoare triple {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:20,789 INFO L290 TraceCheckUtils]: 47: Hoare triple {22278#true} ~cond := #in~cond; {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:17:20,790 INFO L290 TraceCheckUtils]: 48: Hoare triple {22374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:20,792 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22431#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (+ (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~Y~0) 1) main_~x~0) (<= main_~X~0 (* main_~Y~0 4)) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {22447#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:17:20,793 INFO L290 TraceCheckUtils]: 51: Hoare triple {22447#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {22447#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:17:20,794 INFO L290 TraceCheckUtils]: 52: Hoare triple {22447#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22454#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)))} is VALID [2022-04-28 11:17:20,795 INFO L290 TraceCheckUtils]: 53: Hoare triple {22454#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22458#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))))} is VALID [2022-04-28 11:17:20,797 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* main_~Y~0 8) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22462#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (* main_~Y~0 4) main_~Y~0) main_~Y~0) main_~yx~0))} is VALID [2022-04-28 11:17:20,798 INFO L272 TraceCheckUtils]: 55: Hoare triple {22462#(and (= (+ (* main_~Y~0 10) (* main_~X~0 (- 5))) main_~v~0) (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (* main_~Y~0 4) main_~Y~0) main_~Y~0) main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:17:20,799 INFO L290 TraceCheckUtils]: 56: Hoare triple {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22470#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:17:20,799 INFO L290 TraceCheckUtils]: 57: Hoare triple {22470#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22279#false} is VALID [2022-04-28 11:17:20,799 INFO L290 TraceCheckUtils]: 58: Hoare triple {22279#false} assume !false; {22279#false} is VALID [2022-04-28 11:17:20,799 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:17:20,799 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:17:22,489 INFO L290 TraceCheckUtils]: 58: Hoare triple {22279#false} assume !false; {22279#false} is VALID [2022-04-28 11:17:22,489 INFO L290 TraceCheckUtils]: 57: Hoare triple {22470#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22279#false} is VALID [2022-04-28 11:17:22,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22470#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:17:22,490 INFO L272 TraceCheckUtils]: 55: Hoare triple {22486#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22466#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:17:22,491 INFO L290 TraceCheckUtils]: 54: Hoare triple {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22486#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:17:22,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {22494#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:17:22,495 INFO L290 TraceCheckUtils]: 52: Hoare triple {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22494#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:17:22,495 INFO L290 TraceCheckUtils]: 51: Hoare triple {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:17:22,496 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} {22504#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {22490#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:17:22,496 INFO L290 TraceCheckUtils]: 49: Hoare triple {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:22,497 INFO L290 TraceCheckUtils]: 48: Hoare triple {22514#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:17:22,497 INFO L290 TraceCheckUtils]: 47: Hoare triple {22278#true} ~cond := #in~cond; {22514#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:17:22,497 INFO L272 TraceCheckUtils]: 46: Hoare triple {22504#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 45: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22504#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 44: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 43: Hoare triple {22278#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 42: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 40: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,498 INFO L290 TraceCheckUtils]: 39: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 38: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L272 TraceCheckUtils]: 37: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {22278#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 33: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 29: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L272 TraceCheckUtils]: 28: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 26: Hoare triple {22278#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {22278#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {22278#true} assume !!(~x~0 <= ~X~0); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {22278#true} {22278#true} #65#return; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:22,499 INFO L272 TraceCheckUtils]: 19: Hoare triple {22278#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {22278#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 17: Hoare triple {22278#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22278#true} {22278#true} #63#return; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L272 TraceCheckUtils]: 12: Hoare triple {22278#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {22278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22278#true} {22278#true} #61#return; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {22278#true} assume !(0 == ~cond); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {22278#true} ~cond := #in~cond; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L272 TraceCheckUtils]: 6: Hoare triple {22278#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {22278#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {22278#true} call #t~ret8 := main(); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22278#true} {22278#true} #69#return; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {22278#true} assume true; {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {22278#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {22278#true} is VALID [2022-04-28 11:17:22,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {22278#true} call ULTIMATE.init(); {22278#true} is VALID [2022-04-28 11:17:22,501 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:17:22,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:17:22,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [820153386] [2022-04-28 11:17:22,501 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:17:22,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693788996] [2022-04-28 11:17:22,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693788996] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:17:22,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:17:22,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-28 11:17:22,501 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:17:22,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [172725536] [2022-04-28 11:17:22,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [172725536] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:17:22,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:17:22,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 11:17:22,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [868780937] [2022-04-28 11:17:22,502 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:17:22,502 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:17:22,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:17:22,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:22,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:17:22,572 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 11:17:22,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:17:22,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 11:17:22,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=622, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:17:22,573 INFO L87 Difference]: Start difference. First operand 153 states and 167 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:25,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:17:25,640 INFO L93 Difference]: Finished difference Result 168 states and 181 transitions. [2022-04-28 11:17:25,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:17:25,640 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:17:25,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:17:25,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:25,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 64 transitions. [2022-04-28 11:17:25,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:25,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 64 transitions. [2022-04-28 11:17:25,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 64 transitions. [2022-04-28 11:17:25,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:17:25,719 INFO L225 Difference]: With dead ends: 168 [2022-04-28 11:17:25,719 INFO L226 Difference]: Without dead ends: 166 [2022-04-28 11:17:25,720 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=124, Invalid=932, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 11:17:25,720 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 21 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 682 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 698 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 682 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:17:25,720 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 269 Invalid, 698 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 682 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 11:17:25,720 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-04-28 11:17:26,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 157. [2022-04-28 11:17:26,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:17:26,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:26,139 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:26,139 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:26,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:17:26,140 INFO L93 Difference]: Finished difference Result 166 states and 179 transitions. [2022-04-28 11:17:26,141 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 179 transitions. [2022-04-28 11:17:26,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:17:26,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:17:26,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 166 states. [2022-04-28 11:17:26,141 INFO L87 Difference]: Start difference. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 166 states. [2022-04-28 11:17:26,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:17:26,143 INFO L93 Difference]: Finished difference Result 166 states and 179 transitions. [2022-04-28 11:17:26,143 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 179 transitions. [2022-04-28 11:17:26,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:17:26,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:17:26,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:17:26,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:17:26,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:17:26,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 170 transitions. [2022-04-28 11:17:26,145 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 170 transitions. Word has length 59 [2022-04-28 11:17:26,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:17:26,145 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 170 transitions. [2022-04-28 11:17:26,145 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 21 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:17:26,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 170 transitions. [2022-04-28 11:17:28,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 169 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:17:28,663 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-28 11:17:28,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:17:28,663 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:17:28,664 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:17:28,680 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 11:17:28,875 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 11:17:28,875 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:17:28,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:17:28,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 23 times [2022-04-28 11:17:28,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:17:28,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1311094846] [2022-04-28 11:17:28,876 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:17:28,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 24 times [2022-04-28 11:17:28,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:17:28,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1995638481] [2022-04-28 11:17:28,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:17:28,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:17:28,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:17:28,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2135391457] [2022-04-28 11:17:28,886 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:17:28,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:17:28,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:17:28,887 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:17:28,890 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 11:17:28,957 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:17:28,957 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:17:28,958 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 11:17:28,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:17:28,980 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:17:40,674 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:40,699 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:18:00,905 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:18:48,344 INFO L272 TraceCheckUtils]: 0: Hoare triple {23652#true} call ULTIMATE.init(); {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {23652#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); {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23652#true} {23652#true} #69#return; {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {23652#true} call #t~ret8 := main(); {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {23652#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; {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {23652#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:48,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23652#true} {23652#true} #61#return; {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {23652#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {23652#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23652#true} {23652#true} #63#return; {23652#true} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 17: Hoare triple {23652#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:18:48,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:18:48,346 INFO L272 TraceCheckUtils]: 19: Hoare triple {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:48,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:48,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:48,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:48,346 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23652#true} {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:18:48,347 INFO L290 TraceCheckUtils]: 24: Hoare triple {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:18:48,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {23708#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {23733#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:18:48,348 INFO L290 TraceCheckUtils]: 26: Hoare triple {23733#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23737#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:18:48,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {23737#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23741#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 11:18:48,349 INFO L272 TraceCheckUtils]: 28: Hoare triple {23741#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 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)); {23652#true} is VALID [2022-04-28 11:18:48,349 INFO L290 TraceCheckUtils]: 29: Hoare triple {23652#true} ~cond := #in~cond; {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:48,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,351 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} {23741#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~y~0))} #65#return; {23759#(and (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))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:18:48,351 INFO L290 TraceCheckUtils]: 33: Hoare triple {23759#(and (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))) (<= 1 main_~y~0))} assume !!(~x~0 <= ~X~0); {23763#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1))} is VALID [2022-04-28 11:18:48,352 INFO L290 TraceCheckUtils]: 34: Hoare triple {23763#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23767#(and (<= main_~x~0 main_~X~0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2)) (* main_~Y~0 4)))} is VALID [2022-04-28 11:18:48,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {23767#(and (<= main_~x~0 main_~X~0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2)) (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:18:48,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23775#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:18:48,353 INFO L272 TraceCheckUtils]: 37: Hoare triple {23775#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (= (* 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)); {23652#true} is VALID [2022-04-28 11:18:48,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {23652#true} ~cond := #in~cond; {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:48,354 INFO L290 TraceCheckUtils]: 39: Hoare triple {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,354 INFO L290 TraceCheckUtils]: 40: Hoare triple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,355 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} {23775#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (= (* 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; {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:18:48,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(~x~0 <= ~X~0); {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:18:48,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {23771#(and (= (+ (- 1) main_~x~0) 1) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~x~0 (+ 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; {23797#(and (= (+ (- 1) main_~x~0) 1) (= (mod (+ (* main_~Y~0 main_~x~0 2) main_~X~0 main_~v~0) 2) 0) (= (+ (* (div (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) (- 2) main_~X~0) (* main_~Y~0 2) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (<= main_~x~0 (+ main_~X~0 1)) (= (mod (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) 0))} is VALID [2022-04-28 11:18:48,359 INFO L290 TraceCheckUtils]: 44: Hoare triple {23797#(and (= (+ (- 1) main_~x~0) 1) (= (mod (+ (* main_~Y~0 main_~x~0 2) main_~X~0 main_~v~0) 2) 0) (= (+ (* (div (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) (- 2) main_~X~0) (* main_~Y~0 2) (* main_~X~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (<= main_~x~0 (+ main_~X~0 1)) (= (mod (+ (* main_~Y~0 2) (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0)) main_~X~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23801#(and (= main_~x~0 3) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 1) main_~y~0) (= (+ (* (- 2) (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0) (* main_~Y~0 4) (* main_~X~0 2)) (* main_~Y~0 4)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,359 INFO L290 TraceCheckUtils]: 45: Hoare triple {23801#(and (= main_~x~0 3) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 1) main_~y~0) (= (+ (* (- 2) (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0) (* main_~Y~0 4) (* main_~X~0 2)) (* main_~Y~0 4)) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23805#(and (= main_~x~0 3) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 1) main_~y~0) (= (+ (* (- 2) (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0) (* main_~Y~0 4) (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,360 INFO L272 TraceCheckUtils]: 46: Hoare triple {23805#(and (= main_~x~0 3) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 1) main_~y~0) (= (+ (* (- 2) (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0) (* main_~Y~0 4) (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:48,360 INFO L290 TraceCheckUtils]: 47: Hoare triple {23652#true} ~cond := #in~cond; {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:48,360 INFO L290 TraceCheckUtils]: 48: Hoare triple {23748#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,360 INFO L290 TraceCheckUtils]: 49: Hoare triple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:48,362 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} {23805#(and (= main_~x~0 3) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (<= (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 1) main_~y~0) (= (+ (* (- 2) (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0) (* main_~Y~0 4) (* main_~X~0 2)) (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} #65#return; {23821#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~X~0 2) (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0))) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,363 INFO L290 TraceCheckUtils]: 51: Hoare triple {23821#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~X~0 2) (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0))) (<= 1 main_~X~0))} assume !!(~x~0 <= ~X~0); {23821#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~X~0 2) (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0))) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,367 INFO L290 TraceCheckUtils]: 52: Hoare triple {23821#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~X~0 2) (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) main_~X~0))) (<= 1 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23828#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (= (* 2 (* main_~X~0 (div (+ (div (+ (* (* main_~Y~0 main_~x~0 2) (- 1)) (* (- 2) main_~X~0) (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 2) main_~Y~0)) 2) (* main_~Y~0 4)) main_~X~0))) (* main_~X~0 2)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,368 INFO L290 TraceCheckUtils]: 53: Hoare triple {23828#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (= (* 2 (* main_~X~0 (div (+ (div (+ (* (* main_~Y~0 main_~x~0 2) (- 1)) (* (- 2) main_~X~0) (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 2) main_~Y~0)) 2) (* main_~Y~0 4)) main_~X~0))) (* main_~X~0 2)) (<= 1 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23832#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0))) (= (* (* main_~X~0 (div (+ (div (+ (* (- 2) main_~X~0) (* main_~Y~0 (- 8)) (* (- 1) (* (- 2) main_~X~0 main_~y~0))) 2) (* main_~Y~0 4)) main_~X~0)) 2) (* main_~X~0 2)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 4) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,373 INFO L290 TraceCheckUtils]: 54: Hoare triple {23832#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0))) (= (* (* main_~X~0 (div (+ (div (+ (* (- 2) main_~X~0) (* main_~Y~0 (- 8)) (* (- 1) (* (- 2) main_~X~0 main_~y~0))) 2) (* main_~Y~0 4)) main_~X~0)) 2) (* main_~X~0 2)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 4) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23836#(and (= (mod (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) 0) (= main_~xy~0 (* (div (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) main_~X~0)) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (= (* 2 (* main_~X~0 (div (+ (* (- 1) main_~X~0) (* (div (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) main_~X~0)) main_~X~0))) (* main_~X~0 2)) (= main_~yx~0 (* main_~Y~0 4)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:18:48,375 INFO L272 TraceCheckUtils]: 55: Hoare triple {23836#(and (= (mod (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) 0) (= main_~xy~0 (* (div (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) main_~X~0)) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 2)) (= (* 2 (* main_~X~0 (div (+ (* (- 1) main_~X~0) (* (div (+ (* 5 main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2)) main_~X~0) main_~X~0)) main_~X~0))) (* main_~X~0 2)) (= main_~yx~0 (* main_~Y~0 4)) (<= 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)); {23840#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:48,375 INFO L290 TraceCheckUtils]: 56: Hoare triple {23840#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23844#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:48,376 INFO L290 TraceCheckUtils]: 57: Hoare triple {23844#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23653#false} is VALID [2022-04-28 11:18:48,376 INFO L290 TraceCheckUtils]: 58: Hoare triple {23653#false} assume !false; {23653#false} is VALID [2022-04-28 11:18:48,376 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:18:48,376 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:18:54,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {23653#false} assume !false; {23653#false} is VALID [2022-04-28 11:18:54,657 INFO L290 TraceCheckUtils]: 57: Hoare triple {23844#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23653#false} is VALID [2022-04-28 11:18:54,658 INFO L290 TraceCheckUtils]: 56: Hoare triple {23840#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23844#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:54,658 INFO L272 TraceCheckUtils]: 55: Hoare triple {23860#(= (+ (* 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)); {23840#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:54,659 INFO L290 TraceCheckUtils]: 54: Hoare triple {23864#(= (+ (* 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; {23860#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:18:54,662 INFO L290 TraceCheckUtils]: 53: Hoare triple {23868#(= (+ (* (* 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; {23864#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:18:54,662 INFO L290 TraceCheckUtils]: 52: Hoare triple {23864#(= (+ (* 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; {23868#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:18:54,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {23864#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {23864#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:18:54,663 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} {23878#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {23864#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:18:54,664 INFO L290 TraceCheckUtils]: 49: Hoare triple {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:54,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {23888#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:54,664 INFO L290 TraceCheckUtils]: 47: Hoare triple {23652#true} ~cond := #in~cond; {23888#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:18:54,664 INFO L272 TraceCheckUtils]: 46: Hoare triple {23878#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,665 INFO L290 TraceCheckUtils]: 45: Hoare triple {23652#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23878#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 11:18:54,665 INFO L290 TraceCheckUtils]: 44: Hoare triple {23652#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23652#true} is VALID [2022-04-28 11:18:54,665 INFO L290 TraceCheckUtils]: 43: Hoare triple {23652#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; {23652#true} is VALID [2022-04-28 11:18:54,665 INFO L290 TraceCheckUtils]: 42: Hoare triple {23652#true} assume !!(~x~0 <= ~X~0); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23652#true} {23652#true} #65#return; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L272 TraceCheckUtils]: 37: Hoare triple {23652#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {23652#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {23652#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {23652#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {23652#true} assume !!(~x~0 <= ~X~0); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23652#true} {23652#true} #65#return; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L272 TraceCheckUtils]: 28: Hoare triple {23652#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {23652#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {23652#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {23652#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; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {23652#true} assume !!(~x~0 <= ~X~0); {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23652#true} {23652#true} #65#return; {23652#true} is VALID [2022-04-28 11:18:54,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L272 TraceCheckUtils]: 19: Hoare triple {23652#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {23652#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {23652#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23652#true} {23652#true} #63#return; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 14: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L272 TraceCheckUtils]: 12: Hoare triple {23652#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 11: Hoare triple {23652#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23652#true} {23652#true} #61#return; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {23652#true} assume !(0 == ~cond); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {23652#true} ~cond := #in~cond; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {23652#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {23652#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; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {23652#true} call #t~ret8 := main(); {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23652#true} {23652#true} #69#return; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {23652#true} assume true; {23652#true} is VALID [2022-04-28 11:18:54,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {23652#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); {23652#true} is VALID [2022-04-28 11:18:54,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {23652#true} call ULTIMATE.init(); {23652#true} is VALID [2022-04-28 11:18:54,668 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:18:54,668 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:18:54,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1995638481] [2022-04-28 11:18:54,668 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:18:54,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2135391457] [2022-04-28 11:18:54,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2135391457] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:18:54,668 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:18:54,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-28 11:18:54,668 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:18:54,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1311094846] [2022-04-28 11:18:54,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1311094846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:18:54,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:18:54,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 11:18:54,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1196739185] [2022-04-28 11:18:54,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:18:54,669 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:18:54,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:18:54,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:54,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:54,742 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 11:18:54,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:18:54,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 11:18:54,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=621, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:18:54,742 INFO L87 Difference]: Start difference. First operand 157 states and 170 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7)