/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:37:56,102 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:37:56,103 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:37:56,130 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:37:56,130 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:37:56,131 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:37:56,132 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:37:56,134 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:37:56,136 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:37:56,136 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:37:56,137 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:37:56,138 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:37:56,138 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:37:56,139 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:37:56,140 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:37:56,141 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:37:56,142 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:37:56,142 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:37:56,144 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:37:56,145 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:37:56,146 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:37:56,147 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:37:56,148 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:37:56,149 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:37:56,150 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:37:56,152 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:37:56,152 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:37:56,152 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:37:56,153 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:37:56,153 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:37:56,154 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:37:56,154 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:37:56,155 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:37:56,155 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:37:56,156 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:37:56,157 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:37:56,157 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:37:56,158 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:37:56,158 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:37:56,158 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:37:56,159 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:37:56,162 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:37:56,162 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 07:37:56,174 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:37:56,174 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:37:56,175 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:37:56,175 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:37:56,176 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:37:56,177 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:37:56,177 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:37:56,178 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:37:56,178 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 07:37:56,397 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:37:56,415 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:37:56,417 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:37:56,418 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:37:56,420 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:37:56,420 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-15 07:37:56,475 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1233dedb6/6d40990e4f06453ea488c38bb1377b06/FLAG260df9240 [2022-04-15 07:37:56,821 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:37:56,822 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-15 07:37:56,827 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1233dedb6/6d40990e4f06453ea488c38bb1377b06/FLAG260df9240 [2022-04-15 07:37:56,836 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1233dedb6/6d40990e4f06453ea488c38bb1377b06 [2022-04-15 07:37:56,838 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:37:56,839 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:37:56,841 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:37:56,841 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:37:56,843 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:37:56,844 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:37:56" (1/1) ... [2022-04-15 07:37:56,845 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1b247ad0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:56, skipping insertion in model container [2022-04-15 07:37:56,845 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:37:56" (1/1) ... [2022-04-15 07:37:56,852 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:37:56,864 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:37:56,989 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-15 07:37:57,004 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:37:57,011 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:37:57,026 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-15 07:37:57,034 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:37:57,044 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:37:57,045 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57 WrapperNode [2022-04-15 07:37:57,045 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:37:57,046 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:37:57,046 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:37:57,046 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:37:57,056 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,056 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,064 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,065 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,077 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,081 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,086 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,087 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:37:57,088 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:37:57,088 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:37:57,088 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:37:57,089 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (1/1) ... [2022-04-15 07:37:57,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:37:57,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:57,115 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 07:37:57,130 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 07:37:57,152 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:37:57,152 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:37:57,152 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:37:57,153 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:37:57,153 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:37:57,153 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:37:57,153 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:37:57,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:37:57,201 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:37:57,202 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:37:57,361 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:37:57,366 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:37:57,367 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:37:57,368 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:37:57 BoogieIcfgContainer [2022-04-15 07:37:57,368 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:37:57,370 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:37:57,370 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:37:57,377 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:37:57,377 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:37:56" (1/3) ... [2022-04-15 07:37:57,378 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ca8db11 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:37:57, skipping insertion in model container [2022-04-15 07:37:57,378 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:37:57" (2/3) ... [2022-04-15 07:37:57,378 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ca8db11 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:37:57, skipping insertion in model container [2022-04-15 07:37:57,378 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:37:57" (3/3) ... [2022-04-15 07:37:57,379 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-15 07:37:57,383 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:37:57,383 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:37:57,421 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:37:57,426 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 07:37:57,426 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:37:57,446 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:37:57,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:37:57,453 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:57,453 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:37:57,454 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:57,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:57,458 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-15 07:37:57,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:57,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [689486568] [2022-04-15 07:37:57,479 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:37:57,479 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-15 07:37:57,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:57,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128505123] [2022-04-15 07:37:57,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:57,483 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:57,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:57,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:37:57,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:57,672 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 07:37:57,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:37:57,673 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:37:57,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:37:57,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:57,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:37:57,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:37:57,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:37:57,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:37:57,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 07:37:57,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:57,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:37:57,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:37:57,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:37:57,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:37:57,721 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 07:37:57,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 07:37:57,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:37:57,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:37:57,722 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-15 07:37:57,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-15 07:37:57,722 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 07:37:57,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:37:57,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:37:57,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:37:57,724 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:37:57,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 07:37:57,725 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 07:37:57,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:37:57,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:37:57,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:37:57,726 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:37:57,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-15 07:37:57,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-15 07:37:57,727 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-15 07:37:57,727 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 07:37:57,727 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 07:37:57,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 07:37:57,728 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:37:57,729 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:57,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128505123] [2022-04-15 07:37:57,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2128505123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:57,730 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:57,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:37:57,732 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:57,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [689486568] [2022-04-15 07:37:57,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [689486568] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:57,733 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:57,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:37:57,733 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [971989032] [2022-04-15 07:37:57,734 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:57,738 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 07:37:57,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:57,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:37:57,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:57,783 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:37:57,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:57,809 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:37:57,809 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:37:57,813 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:37:57,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:57,970 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-15 07:37:57,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:37:57,970 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 07:37:57,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:57,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:37:57,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:37:57,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:37:57,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:37:57,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-15 07:37:58,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:58,090 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:37:58,090 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 07:37:58,092 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:37:58,095 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:58,096 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 07:37:58,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 07:37:58,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 07:37:58,169 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:58,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:37:58,170 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:37:58,170 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:37:58,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,175 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:37:58,175 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:37:58,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,176 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 07:37:58,176 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 07:37:58,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,182 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:37:58,182 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:37:58,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:58,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:58,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:37:58,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-15 07:37:58,186 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-15 07:37:58,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:58,186 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-15 07:37:58,186 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:37:58,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-15 07:37:58,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:58,239 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:37:58,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:37:58,240 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:58,241 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:37:58,241 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:37:58,242 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:58,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:58,244 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-15 07:37:58,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:58,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [28405992] [2022-04-15 07:37:58,250 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:37:58,250 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-15 07:37:58,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:58,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071356648] [2022-04-15 07:37:58,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:58,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:58,277 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:58,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1854051814] [2022-04-15 07:37:58,277 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:37:58,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:58,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:58,303 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:37:58,308 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 07:37:58,352 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:37:58,353 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:58,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:37:58,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:58,373 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:58,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-15 07:37:58,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-15 07:37:58,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:37:58,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-15 07:37:58,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-15 07:37:58,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-15 07:37:58,610 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-15 07:37:58,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:37:58,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:37:58,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:37:58,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-15 07:37:58,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-15 07:37:58,611 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-15 07:37:58,613 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:37:58,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:37:58,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:37:58,616 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-15 07:37:58,617 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:37:58,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-15 07:37:58,622 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:58,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:58,623 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-15 07:37:58,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-15 07:37:58,623 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:37:58,623 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:37:58,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:58,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071356648] [2022-04-15 07:37:58,624 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:37:58,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1854051814] [2022-04-15 07:37:58,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1854051814] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:58,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:58,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:37:58,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:58,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [28405992] [2022-04-15 07:37:58,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [28405992] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:58,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:58,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:37:58,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [835571368] [2022-04-15 07:37:58,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:58,628 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 07:37:58,629 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:58,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:37:58,649 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:58,650 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:37:58,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:58,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:37:58,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:37:58,652 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:37:58,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,883 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:37:58,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:37:58,883 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 07:37:58,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:58,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:37:58,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:37:58,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:37:58,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:37:58,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:37:58,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:58,951 INFO L225 Difference]: With dead ends: 39 [2022-04-15 07:37:58,951 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 07:37:58,952 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:37:58,954 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:58,959 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:37:58,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 07:37:58,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-15 07:37:58,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:58,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:37:58,974 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:37:58,975 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:37:58,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,977 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:37:58,977 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:37:58,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,978 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:37:58,979 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:37:58,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,981 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:37:58,981 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:37:58,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:58,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:58,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:37:58,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-15 07:37:58,984 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-15 07:37:58,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:58,984 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-15 07:37:58,985 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:37:58,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-15 07:37:59,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:59,022 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-15 07:37:59,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:37:59,023 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:59,023 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:37:59,053 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 07:37:59,246 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:59,247 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:59,247 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:59,247 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-15 07:37:59,247 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:59,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279887889] [2022-04-15 07:37:59,248 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:37:59,248 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-15 07:37:59,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:59,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1695464101] [2022-04-15 07:37:59,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:59,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:59,273 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:59,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1616882310] [2022-04-15 07:37:59,273 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:37:59,273 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:59,273 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:59,286 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:37:59,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 07:37:59,343 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:37:59,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:59,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:37:59,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:59,365 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:10,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 07:38:10,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-15 07:38:10,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:10,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 07:38:10,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 07:38:10,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-15 07:38:10,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:10,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:38:10,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:10,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:10,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #61#return; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:38:10,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:38:10,061 INFO L272 TraceCheckUtils]: 12: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:10,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:38:10,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:10,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:10,062 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:38:10,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:38:10,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:38:10,064 INFO L272 TraceCheckUtils]: 19: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:10,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:10,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:10,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:10,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:38:10,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:38:10,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:10,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:10,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-15 07:38:10,070 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:10,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:10,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 07:38:10,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 07:38:10,072 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:38:10,072 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:58,978 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:58,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1695464101] [2022-04-15 07:39:58,979 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:58,979 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1616882310] [2022-04-15 07:39:58,979 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1616882310] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:39:58,979 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:39:58,979 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 07:39:58,979 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:58,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [279887889] [2022-04-15 07:39:58,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [279887889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:58,980 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:58,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:39:58,980 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [656968736] [2022-04-15 07:39:58,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:58,981 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-15 07:39:58,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:58,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 07:39:59,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:59,009 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:39:59,009 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:59,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:39:59,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:39:59,010 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 07:39:59,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:59,460 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-15 07:39:59,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:39:59,460 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-15 07:39:59,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:59,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 07:39:59,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-15 07:39:59,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 07:39:59,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-15 07:39:59,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-15 07:39:59,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:59,529 INFO L225 Difference]: With dead ends: 61 [2022-04-15 07:39:59,530 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 07:39:59,530 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:39:59,531 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 27 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:59,531 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 123 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:39:59,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 07:39:59,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 07:39:59,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:59,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:39:59,572 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:39:59,572 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:39:59,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:59,575 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-15 07:39:59,575 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 07:39:59,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:59,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:59,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:39:59,580 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:39:59,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:59,582 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-15 07:39:59,582 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 07:39:59,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:59,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:59,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:59,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:59,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:39:59,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-15 07:39:59,584 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-15 07:39:59,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:59,585 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-15 07:39:59,585 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-15 07:39:59,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 38 transitions. [2022-04-15 07:39:59,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:59,633 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-15 07:39:59,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:39:59,635 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:59,636 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:39:59,662 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 07:39:59,836 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 07:39:59,837 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:59,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:59,837 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-15 07:39:59,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:59,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1046444280] [2022-04-15 07:39:59,838 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:39:59,838 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-15 07:39:59,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:59,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [302263687] [2022-04-15 07:39:59,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:59,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:59,856 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:59,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [186109623] [2022-04-15 07:39:59,857 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:39:59,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:59,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:59,866 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:39:59,886 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 07:39:59,935 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:39:59,935 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:59,936 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:39:59,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:59,947 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:00,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-15 07:40:00,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-15 07:40:00,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-15 07:40:00,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-15 07:40:00,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-15 07:40:00,216 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-15 07:40:00,217 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-15 07:40:00,217 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,217 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,217 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-15 07:40:00,218 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:00,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:00,219 INFO L272 TraceCheckUtils]: 19: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,220 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:00,221 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:00,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:00,222 INFO L290 TraceCheckUtils]: 26: Hoare triple {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:00,223 INFO L290 TraceCheckUtils]: 27: Hoare triple {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-15 07:40:00,224 INFO L272 TraceCheckUtils]: 28: Hoare triple {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:00,225 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:00,225 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-15 07:40:00,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-15 07:40:00,226 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:40:00,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:00,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-15 07:40:00,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-15 07:40:00,482 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:00,483 INFO L272 TraceCheckUtils]: 28: Hoare triple {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:00,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:40:00,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:00,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:40:00,489 INFO L290 TraceCheckUtils]: 24: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:00,489 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:00,490 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,490 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,490 INFO L272 TraceCheckUtils]: 19: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:00,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:00,491 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-15 07:40:00,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,492 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,492 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-15 07:40:00,492 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-15 07:40:00,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-15 07:40:00,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-15 07:40:00,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-15 07:40:00,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-15 07:40:00,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-15 07:40:00,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-15 07:40:00,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-15 07:40:00,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-15 07:40:00,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-15 07:40:00,494 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:40:00,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:00,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [302263687] [2022-04-15 07:40:00,494 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:00,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [186109623] [2022-04-15 07:40:00,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [186109623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:00,494 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:00,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-15 07:40:00,495 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:00,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1046444280] [2022-04-15 07:40:00,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1046444280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:00,495 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:00,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:40:00,495 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [975245391] [2022-04-15 07:40:00,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:00,496 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:40:00,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:00,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:40:00,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:00,526 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:40:00,526 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:00,526 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:40:00,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 07:40:00,527 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:40:00,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:00,896 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-15 07:40:00,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:40:00,896 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:40:00,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:00,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:40:00,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-15 07:40:00,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:40:00,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-15 07:40:00,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2022-04-15 07:40:00,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:00,937 INFO L225 Difference]: With dead ends: 48 [2022-04-15 07:40:00,937 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 07:40:00,937 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 07:40:00,938 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 11 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:00,938 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 134 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:40:00,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 07:40:00,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2022-04-15 07:40:00,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:00,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:00,992 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:00,992 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:00,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:00,997 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-15 07:40:00,997 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 07:40:01,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:01,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:01,002 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-15 07:40:01,003 INFO L87 Difference]: Start difference. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-15 07:40:01,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:01,011 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-15 07:40:01,011 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 07:40:01,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:01,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:01,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:01,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:01,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:01,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-15 07:40:01,013 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 32 [2022-04-15 07:40:01,013 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:01,014 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-15 07:40:01,014 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:40:01,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-15 07:40:01,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:01,061 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-15 07:40:01,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:40:01,061 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:01,062 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:01,081 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:01,275 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:01,276 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:01,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:01,276 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-15 07:40:01,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:01,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1441259738] [2022-04-15 07:40:01,277 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:01,277 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-15 07:40:01,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:01,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1047517845] [2022-04-15 07:40:01,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:01,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:01,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:01,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2007680532] [2022-04-15 07:40:01,293 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:40:01,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:01,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:01,294 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:01,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 07:40:01,339 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:40:01,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:01,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:40:01,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:01,357 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:20,250 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:28,376 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:32,827 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:42,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-15 07:40:42,798 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 07:40:42,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 07:40:42,800 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:42,800 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-15 07:40:42,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:42,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:42,801 INFO L272 TraceCheckUtils]: 19: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:42,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:42,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,802 INFO L290 TraceCheckUtils]: 22: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,803 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1507#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:42,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:42,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-15 07:40:42,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:42,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:40:42,805 INFO L272 TraceCheckUtils]: 28: Hoare triple {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:42,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:42,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,808 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-15 07:40:42,808 INFO L290 TraceCheckUtils]: 33: Hoare triple {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:42,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-15 07:40:42,819 INFO L272 TraceCheckUtils]: 35: Hoare triple {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:42,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:42,820 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-15 07:40:42,820 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-15 07:40:42,820 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:40:42,820 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:53,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-15 07:40:53,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-15 07:40:53,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:53,692 INFO L272 TraceCheckUtils]: 35: Hoare triple {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:53,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:53,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:40:53,703 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:53,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:53,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:53,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:53,705 INFO L272 TraceCheckUtils]: 28: Hoare triple {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:53,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:53,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:53,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} is VALID [2022-04-15 07:40:53,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {1451#true} assume !!(~x~0 <= ~X~0); {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} is VALID [2022-04-15 07:40:53,711 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1451#true} {1451#true} #65#return; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 21: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L272 TraceCheckUtils]: 19: Hoare triple {1451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 18: Hoare triple {1451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-15 07:40:53,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-15 07:40:53,712 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-15 07:40:53,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-15 07:40:53,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-15 07:40:53,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-15 07:40:53,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-15 07:40:53,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-15 07:40:53,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-15 07:40:53,714 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:40:53,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:53,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1047517845] [2022-04-15 07:40:53,714 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:53,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2007680532] [2022-04-15 07:40:53,714 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2007680532] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:53,714 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:53,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:40:53,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:53,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1441259738] [2022-04-15 07:40:53,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1441259738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:53,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:53,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:40:53,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [266092359] [2022-04-15 07:40:53,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:53,716 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 07:40:53,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:53,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:53,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:53,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:40:53,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:53,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:40:53,752 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:40:53,753 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:54,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:54,755 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 07:40:54,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:40:54,755 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 07:40:54,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:54,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:54,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-15 07:40:54,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:54,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-15 07:40:54,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-15 07:40:54,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:54,810 INFO L225 Difference]: With dead ends: 53 [2022-04-15 07:40:54,810 INFO L226 Difference]: Without dead ends: 45 [2022-04-15 07:40:54,811 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-15 07:40:54,812 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 18 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:54,812 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 121 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:40:54,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-15 07:40:54,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-15 07:40:54,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:54,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:54,875 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:54,875 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:54,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:54,877 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-15 07:40:54,877 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-15 07:40:54,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:54,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:54,878 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-15 07:40:54,878 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-15 07:40:54,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:54,879 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-15 07:40:54,879 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-15 07:40:54,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:54,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:54,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:54,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:54,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:40:54,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2022-04-15 07:40:54,884 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 39 [2022-04-15 07:40:54,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:54,884 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2022-04-15 07:40:54,884 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:54,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 46 transitions. [2022-04-15 07:40:54,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:54,945 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2022-04-15 07:40:54,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:40:54,945 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:54,945 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:54,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:55,146 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:55,146 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:55,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:55,146 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 1 times [2022-04-15 07:40:55,147 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:55,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [713652781] [2022-04-15 07:40:55,147 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:55,147 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 2 times [2022-04-15 07:40:55,147 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:55,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [233840302] [2022-04-15 07:40:55,147 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:55,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:55,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:55,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [914490748] [2022-04-15 07:40:55,177 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:40:55,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:55,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:55,178 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:55,205 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 07:40:55,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:40:55,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:55,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 07:40:55,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:55,248 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:18,032 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:24,142 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-15 07:41:24,143 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:24,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:24,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:24,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:24,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} {1998#true} #61#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,146 INFO L272 TraceCheckUtils]: 12: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:24,146 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 07:41:24,146 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 07:41:24,146 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:24,147 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:24,148 INFO L290 TraceCheckUtils]: 18: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:24,148 INFO L272 TraceCheckUtils]: 19: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:24,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 07:41:24,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 07:41:24,148 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:24,149 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:24,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:24,151 INFO L290 TraceCheckUtils]: 25: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,151 INFO L290 TraceCheckUtils]: 26: Hoare triple {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:41:24,152 INFO L272 TraceCheckUtils]: 28: Hoare triple {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:24,152 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:24,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:24,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:24,154 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:24,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:41:24,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:41:24,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-15 07:41:24,160 INFO L272 TraceCheckUtils]: 37: Hoare triple {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:24,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:24,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-15 07:41:24,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-15 07:41:24,162 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:41:24,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:30,041 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-15 07:41:30,041 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-15 07:41:30,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:30,043 INFO L272 TraceCheckUtils]: 37: Hoare triple {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:30,044 INFO L290 TraceCheckUtils]: 36: Hoare triple {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:41:30,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:30,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:41:30,060 INFO L290 TraceCheckUtils]: 33: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:30,061 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:30,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:30,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:30,062 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:41:30,062 INFO L272 TraceCheckUtils]: 28: Hoare triple {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:30,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:30,063 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1998#true} is VALID [2022-04-15 07:41:30,063 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1998#true} is VALID [2022-04-15 07:41:30,063 INFO L290 TraceCheckUtils]: 24: Hoare triple {1998#true} assume !!(~x~0 <= ~X~0); {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} #65#return; {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {1998#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1998#true} is VALID [2022-04-15 07:41:30,064 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {1998#true} #63#return; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} #61#return; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-15 07:41:30,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-15 07:41:30,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-15 07:41:30,067 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 07:41:30,067 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:30,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [233840302] [2022-04-15 07:41:30,067 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:30,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [914490748] [2022-04-15 07:41:30,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [914490748] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:30,067 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:30,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-15 07:41:30,068 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:30,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [713652781] [2022-04-15 07:41:30,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [713652781] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:30,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:30,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:41:30,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1807354442] [2022-04-15 07:41:30,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:30,069 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:41:30,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:30,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:41:30,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:30,110 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:41:30,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:30,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:41:30,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:41:30,111 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:41:34,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:34,407 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-04-15 07:41:34,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:41:34,408 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:41:34,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:34,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:41:34,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-15 07:41:34,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:41:34,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-15 07:41:34,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-15 07:41:34,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:34,479 INFO L225 Difference]: With dead ends: 66 [2022-04-15 07:41:34,479 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 07:41:34,480 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=109, Invalid=647, Unknown=0, NotChecked=0, Total=756 [2022-04-15 07:41:34,480 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:34,481 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 118 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:41:34,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 07:41:34,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-15 07:41:34,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:34,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:34,560 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:34,560 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:34,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:34,562 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 07:41:34,562 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 07:41:34,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:34,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:34,562 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-15 07:41:34,563 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-15 07:41:34,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:34,564 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-15 07:41:34,564 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 07:41:34,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:34,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:34,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:34,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:34,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:34,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-15 07:41:34,566 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-15 07:41:34,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:34,567 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-15 07:41:34,567 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:41:34,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-15 07:41:34,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:34,633 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 07:41:34,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:41:34,634 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:34,634 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:41:34,650 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 07:41:34,843 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:34,843 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:34,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:34,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-15 07:41:34,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:34,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1111498633] [2022-04-15 07:41:34,844 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:34,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-15 07:41:34,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:34,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856284840] [2022-04-15 07:41:34,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:34,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:34,857 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:34,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1615323646] [2022-04-15 07:41:34,857 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:41:34,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:34,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:34,858 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:41:34,859 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 07:41:34,900 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:41:34,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:34,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 07:41:34,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:34,914 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:35,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:35,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 07:41:35,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 07:41:35,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:35,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-15 07:41:35,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-15 07:41:35,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:35,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:35,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:35,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:35,581 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} {2620#true} #63#return; {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,581 INFO L290 TraceCheckUtils]: 17: Hoare triple {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,582 INFO L272 TraceCheckUtils]: 19: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:35,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 07:41:35,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 07:41:35,582 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:35,583 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,584 INFO L290 TraceCheckUtils]: 24: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,585 INFO L290 TraceCheckUtils]: 25: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,586 INFO L290 TraceCheckUtils]: 26: Hoare triple {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,586 INFO L290 TraceCheckUtils]: 27: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,587 INFO L272 TraceCheckUtils]: 28: Hoare triple {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:35,587 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:35,587 INFO L290 TraceCheckUtils]: 30: Hoare triple {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:35,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:35,589 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #65#return; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,590 INFO L290 TraceCheckUtils]: 33: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,591 INFO L290 TraceCheckUtils]: 34: Hoare triple {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:35,593 INFO L272 TraceCheckUtils]: 37: Hoare triple {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:35,593 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:35,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-15 07:41:35,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-15 07:41:35,594 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:41:35,594 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:38,386 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-15 07:41:38,387 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-15 07:41:38,387 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:38,388 INFO L272 TraceCheckUtils]: 37: Hoare triple {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:38,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:41:38,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:38,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:41:38,392 INFO L290 TraceCheckUtils]: 33: Hoare triple {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:38,393 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:41:38,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:38,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:38,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:41:38,394 INFO L272 TraceCheckUtils]: 28: Hoare triple {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:38,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:41:38,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {2620#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#true} is VALID [2022-04-15 07:41:38,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {2620#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2620#true} is VALID [2022-04-15 07:41:38,395 INFO L290 TraceCheckUtils]: 24: Hoare triple {2620#true} assume !!(~x~0 <= ~X~0); {2620#true} is VALID [2022-04-15 07:41:38,395 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2620#true} #65#return; {2620#true} is VALID [2022-04-15 07:41:38,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {2620#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 17: Hoare triple {2620#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#true} {2620#true} #63#return; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:38,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-15 07:41:38,397 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-15 07:41:38,398 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 07:41:38,398 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:38,399 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856284840] [2022-04-15 07:41:38,399 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:38,399 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1615323646] [2022-04-15 07:41:38,399 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1615323646] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:38,399 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:38,399 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-15 07:41:38,399 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:38,399 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1111498633] [2022-04-15 07:41:38,399 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1111498633] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:38,400 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:38,400 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:41:38,400 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1686771545] [2022-04-15 07:41:38,400 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:38,400 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:41:38,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:38,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:41:38,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:38,438 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:41:38,439 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:38,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:41:38,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:41:38,439 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:41:39,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:39,469 INFO L93 Difference]: Finished difference Result 77 states and 86 transitions. [2022-04-15 07:41:39,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:41:39,469 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:41:39,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:39,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:41:39,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-15 07:41:39,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:41:39,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-15 07:41:39,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 71 transitions. [2022-04-15 07:41:39,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:39,531 INFO L225 Difference]: With dead ends: 77 [2022-04-15 07:41:39,531 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 07:41:39,532 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=127, Invalid=685, Unknown=0, NotChecked=0, Total=812 [2022-04-15 07:41:39,532 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:39,533 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 113 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:41:39,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 07:41:39,618 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-15 07:41:39,618 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:39,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:41:39,618 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:41:39,618 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:41:39,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:39,620 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-15 07:41:39,620 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-15 07:41:39,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:39,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:39,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-15 07:41:39,621 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-15 07:41:39,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:39,623 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-15 07:41:39,623 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-15 07:41:39,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:39,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:39,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:39,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:39,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:41:39,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-15 07:41:39,625 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-15 07:41:39,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:39,626 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-15 07:41:39,626 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:41:39,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-15 07:41:39,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:39,715 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-15 07:41:39,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 07:41:39,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:39,716 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:41:39,733 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 07:41:39,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:39,923 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:39,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:39,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-15 07:41:39,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:39,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1143800318] [2022-04-15 07:41:39,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:39,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-15 07:41:39,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:39,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22830957] [2022-04-15 07:41:39,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:39,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:39,940 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:39,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [97533042] [2022-04-15 07:41:39,940 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:41:39,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:39,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:39,948 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:41:39,951 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 07:41:39,997 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:41:39,998 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:39,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-15 07:41:40,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:40,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:40,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:40,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:40,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:40,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-15 07:41:40,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-15 07:41:40,918 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:40,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:40,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:40,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:40,922 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} {3303#true} #63#return; {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,923 INFO L272 TraceCheckUtils]: 19: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:40,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:40,923 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:40,923 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:40,924 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,926 INFO L272 TraceCheckUtils]: 28: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:40,926 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:40,926 INFO L290 TraceCheckUtils]: 30: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:40,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:40,927 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #65#return; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,928 INFO L290 TraceCheckUtils]: 33: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,928 INFO L290 TraceCheckUtils]: 34: Hoare triple {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,930 INFO L272 TraceCheckUtils]: 37: Hoare triple {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:40,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:40,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:40,932 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:40,933 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,933 INFO L290 TraceCheckUtils]: 42: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,934 INFO L290 TraceCheckUtils]: 43: Hoare triple {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:41:40,935 INFO L272 TraceCheckUtils]: 44: Hoare triple {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:40,935 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:40,936 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-15 07:41:40,936 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-15 07:41:40,936 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 13 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 07:41:40,936 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:41,795 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-15 07:41:41,796 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-15 07:41:41,796 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:41,797 INFO L272 TraceCheckUtils]: 44: Hoare triple {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:41,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:41,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:41:41,799 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:41:41,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:41,800 INFO L290 TraceCheckUtils]: 39: Hoare triple {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:41,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:41:41,800 INFO L272 TraceCheckUtils]: 37: Hoare triple {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:41,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:41:41,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:41:41,972 INFO L290 TraceCheckUtils]: 34: Hoare triple {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:41:41,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:41,974 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-15 07:41:41,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:41,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:41,974 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L272 TraceCheckUtils]: 28: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {3303#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {3303#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:41,975 INFO L272 TraceCheckUtils]: 19: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {3303#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3303#true} {3303#true} #63#return; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 14: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-15 07:41:41,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-15 07:41:41,977 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 07:41:41,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:41,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [22830957] [2022-04-15 07:41:41,978 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:41,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [97533042] [2022-04-15 07:41:41,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [97533042] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:41,978 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:41,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-15 07:41:41,978 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:41,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1143800318] [2022-04-15 07:41:41,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1143800318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:41,978 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:41,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 07:41:41,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1655820544] [2022-04-15 07:41:41,978 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:41,979 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:41:41,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:41,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:42,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:42,025 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 07:41:42,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:42,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 07:41:42,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:41:42,026 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:43,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:43,104 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2022-04-15 07:41:43,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 07:41:43,105 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:41:43,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:43,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:43,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-15 07:41:43,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:43,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-15 07:41:43,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2022-04-15 07:41:43,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:43,156 INFO L225 Difference]: With dead ends: 70 [2022-04-15 07:41:43,156 INFO L226 Difference]: Without dead ends: 62 [2022-04-15 07:41:43,157 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 68 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 192 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=142, Invalid=788, Unknown=0, NotChecked=0, Total=930 [2022-04-15 07:41:43,157 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 444 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 444 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:43,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 178 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 444 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:41:43,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-15 07:41:43,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 53. [2022-04-15 07:41:43,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:43,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:43,232 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:43,235 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:43,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:43,236 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-15 07:41:43,237 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-15 07:41:43,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:43,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:43,237 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-15 07:41:43,237 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-15 07:41:43,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:43,239 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-15 07:41:43,239 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-15 07:41:43,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:43,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:43,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:43,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:43,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:41:43,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-15 07:41:43,241 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 48 [2022-04-15 07:41:43,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:43,241 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-15 07:41:43,241 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:43,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-15 07:41:43,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:43,340 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-15 07:41:43,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:43,341 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:43,341 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:41:43,357 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 07:41:43,541 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:43,542 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:43,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:43,542 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 3 times [2022-04-15 07:41:43,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:43,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1308073366] [2022-04-15 07:41:43,542 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:43,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 4 times [2022-04-15 07:41:43,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:43,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1167939432] [2022-04-15 07:41:43,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:43,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:43,562 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:43,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1815441312] [2022-04-15 07:41:43,562 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:41:43,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:43,563 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:43,564 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:41:43,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 07:41:43,613 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:41:43,613 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:43,614 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:41:43,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:43,630 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:54,452 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:54,974 INFO L272 TraceCheckUtils]: 0: Hoare triple {3996#true} call ULTIMATE.init(); {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {3996#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3996#true} {3996#true} #69#return; {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {3996#true} call #t~ret8 := main(); {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {3996#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3996#true} is VALID [2022-04-15 07:41:54,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {3996#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-15 07:41:54,975 INFO L290 TraceCheckUtils]: 7: Hoare triple {3996#true} ~cond := #in~cond; {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:54,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:54,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:54,976 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} {3996#true} #61#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:54,977 INFO L290 TraceCheckUtils]: 11: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:54,977 INFO L272 TraceCheckUtils]: 12: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-15 07:41:54,977 INFO L290 TraceCheckUtils]: 13: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 07:41:54,977 INFO L290 TraceCheckUtils]: 14: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 07:41:54,977 INFO L290 TraceCheckUtils]: 15: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 07:41:54,978 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3996#true} {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:41:54,978 INFO L290 TraceCheckUtils]: 17: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:41:54,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:41:54,979 INFO L272 TraceCheckUtils]: 19: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-15 07:41:54,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 07:41:54,979 INFO L290 TraceCheckUtils]: 21: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 07:41:54,979 INFO L290 TraceCheckUtils]: 22: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 07:41:54,980 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3996#true} {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:41:54,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:41:54,981 INFO L290 TraceCheckUtils]: 25: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:54,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:54,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:54,983 INFO L272 TraceCheckUtils]: 28: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-15 07:41:54,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 07:41:54,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 07:41:54,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 07:41:54,984 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3996#true} {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:54,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:54,986 INFO L290 TraceCheckUtils]: 34: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:54,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 07:41:54,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 07:41:54,988 INFO L272 TraceCheckUtils]: 37: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-15 07:41:54,988 INFO L290 TraceCheckUtils]: 38: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-15 07:41:54,988 INFO L290 TraceCheckUtils]: 39: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-15 07:41:54,988 INFO L290 TraceCheckUtils]: 40: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-15 07:41:54,989 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3996#true} {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} #65#return; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 07:41:54,989 INFO L290 TraceCheckUtils]: 42: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !!(~x~0 <= ~X~0); {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-15 07:41:54,990 INFO L290 TraceCheckUtils]: 43: Hoare triple {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:41:54,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:41:54,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} is VALID [2022-04-15 07:41:54,995 INFO L272 TraceCheckUtils]: 46: Hoare triple {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:54,995 INFO L290 TraceCheckUtils]: 47: Hoare triple {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4155#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:54,995 INFO L290 TraceCheckUtils]: 48: Hoare triple {4155#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3997#false} is VALID [2022-04-15 07:41:54,995 INFO L290 TraceCheckUtils]: 49: Hoare triple {3997#false} assume !false; {3997#false} is VALID [2022-04-15 07:41:54,996 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 07:41:54,996 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:07,366 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:07,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1167939432] [2022-04-15 07:42:07,366 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:07,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1815441312] [2022-04-15 07:42:07,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1815441312] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:42:07,367 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:42:07,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-15 07:42:07,367 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:07,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1308073366] [2022-04-15 07:42:07,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1308073366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:07,367 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:07,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:42:07,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [386612266] [2022-04-15 07:42:07,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:07,368 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:42:07,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:07,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:07,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:07,407 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:42:07,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:07,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:42:07,407 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:42:07,408 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:08,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:08,325 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-04-15 07:42:08,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:42:08,326 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:42:08,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:08,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:08,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-15 07:42:08,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:08,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-15 07:42:08,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2022-04-15 07:42:08,396 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:08,397 INFO L225 Difference]: With dead ends: 81 [2022-04-15 07:42:08,397 INFO L226 Difference]: Without dead ends: 68 [2022-04-15 07:42:08,397 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:42:08,398 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 28 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:08,398 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 116 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:42:08,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-15 07:42:08,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-15 07:42:08,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:08,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:42:08,547 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:42:08,547 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:42:08,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:08,549 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-15 07:42:08,549 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-15 07:42:08,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:08,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:08,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-15 07:42:08,550 INFO L87 Difference]: Start difference. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-15 07:42:08,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:08,551 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-15 07:42:08,551 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-15 07:42:08,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:08,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:08,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:08,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:08,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:42:08,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 71 transitions. [2022-04-15 07:42:08,554 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 71 transitions. Word has length 50 [2022-04-15 07:42:08,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:08,554 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 71 transitions. [2022-04-15 07:42:08,554 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:08,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 71 transitions. [2022-04-15 07:42:08,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:08,665 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-15 07:42:08,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:42:08,665 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:08,665 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:42:08,683 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 07:42:08,867 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 07:42:08,867 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:08,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:08,868 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-15 07:42:08,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:08,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [695841873] [2022-04-15 07:42:08,868 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:08,868 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-15 07:42:08,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:08,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [192946717] [2022-04-15 07:42:08,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:08,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:08,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:08,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [282630692] [2022-04-15 07:42:08,880 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:42:08,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:08,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:08,881 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:42:08,885 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 07:42:08,931 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:42:08,931 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:08,933 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-15 07:42:08,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:08,951 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:12,717 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:29,378 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:35,398 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:47,452 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:52,167 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:53,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:53,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:42:53,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:42:53,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:42:53,419 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4658#true} #61#return; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:42:53,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:42:53,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:53,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:42:53,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:42:53,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:42:53,421 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,422 INFO L272 TraceCheckUtils]: 19: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:53,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 07:42:53,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 07:42:53,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:53,423 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,425 INFO L272 TraceCheckUtils]: 28: Hoare triple {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:53,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:53,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:53,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:53,427 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} #65#return; {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,429 INFO L290 TraceCheckUtils]: 34: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,430 INFO L272 TraceCheckUtils]: 37: Hoare triple {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:53,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:53,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:53,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:53,432 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,433 INFO L290 TraceCheckUtils]: 42: Hoare triple {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,434 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,441 INFO L290 TraceCheckUtils]: 45: Hoare triple {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} is VALID [2022-04-15 07:42:53,450 INFO L272 TraceCheckUtils]: 46: Hoare triple {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(exists ((v_main_~X~0_BEFORE_CALL_45 Int) (v_main_~Y~0_BEFORE_CALL_43 Int) (v_main_~xy~0_BEFORE_CALL_27 Int)) (and (<= (* v_main_~X~0_BEFORE_CALL_45 3) (* 4 v_main_~Y~0_BEFORE_CALL_43)) (= (mod v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) 0) (<= 3 (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~Y~0_BEFORE_CALL_43 2) (<= (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43) (+ v_main_~X~0_BEFORE_CALL_45 1))))} is VALID [2022-04-15 07:42:53,450 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(exists ((v_main_~X~0_BEFORE_CALL_45 Int) (v_main_~Y~0_BEFORE_CALL_43 Int) (v_main_~xy~0_BEFORE_CALL_27 Int)) (and (<= (* v_main_~X~0_BEFORE_CALL_45 3) (* 4 v_main_~Y~0_BEFORE_CALL_43)) (= (mod v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) 0) (<= 3 (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~Y~0_BEFORE_CALL_43 2) (<= (div (+ (* (div v_main_~xy~0_BEFORE_CALL_27 v_main_~X~0_BEFORE_CALL_45) v_main_~X~0_BEFORE_CALL_45) (* v_main_~X~0_BEFORE_CALL_45 (- 3)) (* 3 v_main_~Y~0_BEFORE_CALL_43)) v_main_~Y~0_BEFORE_CALL_43) (+ v_main_~X~0_BEFORE_CALL_45 1))))} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:53,451 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-15 07:42:53,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-15 07:42:53,451 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:42:53,451 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:57,595 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-15 07:42:57,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-15 07:42:57,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {4837#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:57,596 INFO L272 TraceCheckUtils]: 46: Hoare triple {4841#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4837#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:57,597 INFO L290 TraceCheckUtils]: 45: Hoare triple {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4841#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:42:57,599 INFO L290 TraceCheckUtils]: 44: Hoare triple {4849#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:57,600 INFO L290 TraceCheckUtils]: 43: Hoare triple {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4849#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:42:57,601 INFO L290 TraceCheckUtils]: 42: Hoare triple {4856#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4845#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:57,601 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4860#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {4856#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:42:57,602 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:57,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {4870#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:57,602 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4870#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:42:57,602 INFO L272 TraceCheckUtils]: 37: Hoare triple {4860#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:57,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4860#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:42:57,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-15 07:42:57,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-15 07:42:57,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-15 07:42:57,603 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-15 07:42:57,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L272 TraceCheckUtils]: 28: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L272 TraceCheckUtils]: 19: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {4658#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4658#true} {4658#true} #63#return; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:57,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L272 TraceCheckUtils]: 12: Hoare triple {4658#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {4658#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4658#true} {4658#true} #61#return; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-15 07:42:57,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-15 07:42:57,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-15 07:42:57,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-15 07:42:57,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-15 07:42:57,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-15 07:42:57,607 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 07:42:57,608 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:57,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [192946717] [2022-04-15 07:42:57,608 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:57,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [282630692] [2022-04-15 07:42:57,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [282630692] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:57,608 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:57,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 11] total 30 [2022-04-15 07:42:57,608 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:57,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [695841873] [2022-04-15 07:42:57,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [695841873] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:57,608 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:57,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 07:42:57,608 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340001052] [2022-04-15 07:42:57,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:57,609 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:42:57,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:57,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:57,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:57,684 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 07:42:57,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:57,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 07:42:57,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=745, Unknown=0, NotChecked=0, Total=870 [2022-04-15 07:42:57,685 INFO L87 Difference]: Start difference. First operand 66 states and 71 transitions. Second operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:59,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:59,884 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:42:59,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:42:59,884 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:42:59,885 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:59,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:59,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-15 07:42:59,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:42:59,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-15 07:42:59,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-15 07:42:59,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:59,978 INFO L225 Difference]: With dead ends: 86 [2022-04-15 07:42:59,978 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 07:42:59,979 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 69 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 319 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=188, Invalid=1144, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:42:59,979 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 583 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 46 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:59,979 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 159 Invalid, 583 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 517 Invalid, 0 Unknown, 46 Unchecked, 0.8s Time] [2022-04-15 07:42:59,980 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 07:43:00,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 54. [2022-04-15 07:43:00,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:43:00,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:00,099 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:00,099 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:00,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:43:00,100 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-15 07:43:00,100 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-15 07:43:00,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:43:00,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:43:00,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-04-15 07:43:00,101 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-04-15 07:43:00,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:43:00,102 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-04-15 07:43:00,102 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2022-04-15 07:43:00,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:43:00,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:43:00,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:43:00,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:43:00,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:00,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-15 07:43:00,104 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2022-04-15 07:43:00,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:43:00,105 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-15 07:43:00,105 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:43:00,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 55 transitions. [2022-04-15 07:43:00,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:43:00,222 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-15 07:43:00,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:43:00,223 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:43:00,223 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:43:00,240 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-15 07:43:00,428 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 07:43:00,428 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:43:00,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:43:00,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 1 times [2022-04-15 07:43:00,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:43:00,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1096225829] [2022-04-15 07:43:00,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:43:00,429 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 2 times [2022-04-15 07:43:00,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:43:00,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623643299] [2022-04-15 07:43:00,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:43:00,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:43:00,440 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:43:00,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1761879309] [2022-04-15 07:43:00,440 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:43:00,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:43:00,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:43:00,441 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:43:00,446 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 07:43:00,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:43:00,487 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:43:00,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:43:00,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:43:00,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:43:01,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-15 07:43:01,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {5423#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5423#true} is VALID [2022-04-15 07:43:01,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {5423#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {5423#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {5423#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {5423#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-15 07:43:01,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {5423#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:43:01,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:43:01,382 INFO L272 TraceCheckUtils]: 19: Hoare triple {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,383 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5423#true} {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:43:01,383 INFO L290 TraceCheckUtils]: 24: Hoare triple {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:43:01,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {5479#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5504#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:01,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {5504#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:01,385 INFO L290 TraceCheckUtils]: 27: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:01,385 INFO L272 TraceCheckUtils]: 28: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,385 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,386 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5423#true} {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:01,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:01,387 INFO L290 TraceCheckUtils]: 34: Hoare triple {5508#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5533#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-15 07:43:01,387 INFO L290 TraceCheckUtils]: 35: Hoare triple {5533#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:01,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:01,388 INFO L272 TraceCheckUtils]: 37: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,388 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,388 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,389 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5423#true} {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #65#return; {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:01,389 INFO L290 TraceCheckUtils]: 42: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:01,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {5537#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5562#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-15 07:43:01,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {5562#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:43:01,391 INFO L290 TraceCheckUtils]: 45: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:43:01,391 INFO L272 TraceCheckUtils]: 46: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:01,391 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:01,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:01,391 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:01,392 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5423#true} {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #65#return; {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:43:01,392 INFO L290 TraceCheckUtils]: 51: Hoare triple {5566#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !(~x~0 <= ~X~0); {5588#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:43:01,393 INFO L290 TraceCheckUtils]: 52: Hoare triple {5588#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5592#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} is VALID [2022-04-15 07:43:01,394 INFO L272 TraceCheckUtils]: 53: Hoare triple {5592#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:43:01,394 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:01,394 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-15 07:43:01,395 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-15 07:43:01,395 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 07:43:01,395 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:43:02,692 INFO L290 TraceCheckUtils]: 56: Hoare triple {5424#false} assume !false; {5424#false} is VALID [2022-04-15 07:43:02,693 INFO L290 TraceCheckUtils]: 55: Hoare triple {5600#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5424#false} is VALID [2022-04-15 07:43:02,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5600#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:02,694 INFO L272 TraceCheckUtils]: 53: Hoare triple {5616#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5596#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:43:02,695 INFO L290 TraceCheckUtils]: 52: Hoare triple {5620#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5616#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:43:02,695 INFO L290 TraceCheckUtils]: 51: Hoare triple {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5620#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:43:02,696 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5423#true} {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:43:02,696 INFO L290 TraceCheckUtils]: 49: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,696 INFO L290 TraceCheckUtils]: 48: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,696 INFO L290 TraceCheckUtils]: 47: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,696 INFO L272 TraceCheckUtils]: 46: Hoare triple {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:43:02,700 INFO L290 TraceCheckUtils]: 44: Hoare triple {5646#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5624#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:43:02,702 INFO L290 TraceCheckUtils]: 43: Hoare triple {5650#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5646#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:43:02,703 INFO L290 TraceCheckUtils]: 42: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {5650#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:43:02,703 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5423#true} {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:43:02,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,703 INFO L290 TraceCheckUtils]: 38: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,704 INFO L272 TraceCheckUtils]: 37: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,704 INFO L290 TraceCheckUtils]: 36: Hoare triple {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:43:02,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {5676#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5654#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:43:02,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5676#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:43:02,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:43:02,708 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5423#true} {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:43:02,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,709 INFO L272 TraceCheckUtils]: 28: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:43:02,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {5705#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5680#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:43:02,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5705#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:02,721 INFO L290 TraceCheckUtils]: 24: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:02,722 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5423#true} {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:02,722 INFO L290 TraceCheckUtils]: 22: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,722 INFO L290 TraceCheckUtils]: 20: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,722 INFO L272 TraceCheckUtils]: 19: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:02,724 INFO L290 TraceCheckUtils]: 17: Hoare triple {5423#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5709#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:43:02,725 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5423#true} {5423#true} #63#return; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L272 TraceCheckUtils]: 12: Hoare triple {5423#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 11: Hoare triple {5423#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5423#true} {5423#true} #61#return; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {5423#true} assume !(0 == ~cond); {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {5423#true} ~cond := #in~cond; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {5423#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {5423#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5423#true} is VALID [2022-04-15 07:43:02,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {5423#true} call #t~ret8 := main(); {5423#true} is VALID [2022-04-15 07:43:02,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5423#true} {5423#true} #69#return; {5423#true} is VALID [2022-04-15 07:43:02,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {5423#true} assume true; {5423#true} is VALID [2022-04-15 07:43:02,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {5423#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5423#true} is VALID [2022-04-15 07:43:02,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {5423#true} call ULTIMATE.init(); {5423#true} is VALID [2022-04-15 07:43:02,726 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 07:43:02,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:43:02,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623643299] [2022-04-15 07:43:02,726 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:43:02,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1761879309] [2022-04-15 07:43:02,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1761879309] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:43:02,726 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:43:02,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-15 07:43:02,727 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:43:02,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1096225829] [2022-04-15 07:43:02,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1096225829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:43:02,727 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:43:02,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:43:02,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1311546938] [2022-04-15 07:43:02,727 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:43:02,727 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:43:02,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:43:02,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:43:02,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:43:02,780 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:43:02,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:43:02,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:43:02,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=415, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:43:02,781 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:43:03,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:43:03,743 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-04-15 07:43:03,743 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:43:03,743 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:43:03,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:43:03,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:43:03,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 07:43:03,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:43:03,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 07:43:03,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-15 07:43:03,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:43:03,805 INFO L225 Difference]: With dead ends: 69 [2022-04-15 07:43:03,805 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 07:43:03,806 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=109, Invalid=491, Unknown=0, NotChecked=0, Total=600 [2022-04-15 07:43:03,806 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 324 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 324 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:43:03,807 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 220 Invalid, 324 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 324 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:43:03,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 07:43:03,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-15 07:43:03,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:43:03,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:03,915 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:03,915 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:03,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:43:03,916 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 07:43:03,916 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 07:43:03,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:43:03,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:43:03,917 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 07:43:03,917 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 07:43:03,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:43:03,918 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 07:43:03,918 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 07:43:03,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:43:03,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:43:03,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:43:03,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:43:03,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:43:03,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 54 transitions. [2022-04-15 07:43:03,920 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 54 transitions. Word has length 57 [2022-04-15 07:43:03,920 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:43:03,920 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 54 transitions. [2022-04-15 07:43:03,920 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:43:03,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 54 transitions. [2022-04-15 07:43:04,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:43:04,023 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-15 07:43:04,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:43:04,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:43:04,024 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:43:04,040 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 07:43:04,224 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 07:43:04,224 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:43:04,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:43:04,225 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-15 07:43:04,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:43:04,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1079566868] [2022-04-15 07:43:04,225 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:43:04,225 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-15 07:43:04,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:43:04,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [771580778] [2022-04-15 07:43:04,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:43:04,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:43:04,241 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:43:04,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1465755571] [2022-04-15 07:43:04,241 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:43:04,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:43:04,241 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:43:04,242 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:43:04,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 07:43:04,310 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:43:04,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:43:04,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 07:43:04,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:43:04,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:43:20,429 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:30,454 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:32,958 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:44:23,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {6145#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {6145#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6145#true} is VALID [2022-04-15 07:44:23,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {6145#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} ~cond := #in~cond; {6171#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:44:23,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {6171#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6175#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:23,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {6175#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6175#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:23,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6175#(not (= |assume_abort_if_not_#in~cond| 0))} {6145#true} #61#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,231 INFO L290 TraceCheckUtils]: 11: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,231 INFO L272 TraceCheckUtils]: 12: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:23,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:23,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:23,231 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,232 INFO L272 TraceCheckUtils]: 19: Hoare triple {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:23,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:23,233 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:23,233 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6145#true} {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {6204#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,235 INFO L272 TraceCheckUtils]: 28: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:23,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:23,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:23,236 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,238 INFO L272 TraceCheckUtils]: 37: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:23,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:23,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:23,239 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6145#true} {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {6182#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:23,241 INFO L290 TraceCheckUtils]: 44: Hoare triple {6280#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6287#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:23,241 INFO L290 TraceCheckUtils]: 45: Hoare triple {6287#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6291#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:23,241 INFO L272 TraceCheckUtils]: 46: Hoare triple {6291#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:23,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {6145#true} ~cond := #in~cond; {6298#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:23,242 INFO L290 TraceCheckUtils]: 48: Hoare triple {6298#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:23,242 INFO L290 TraceCheckUtils]: 49: Hoare triple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:23,244 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} {6291#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {6309#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:23,244 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {6313#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:23,271 INFO L290 TraceCheckUtils]: 52: Hoare triple {6313#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6317#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-15 07:44:23,290 INFO L272 TraceCheckUtils]: 53: Hoare triple {6317#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:44:23,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:23,290 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-15 07:44:23,291 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-15 07:44:23,291 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-15 07:44:23,291 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:44:24,420 INFO L290 TraceCheckUtils]: 56: Hoare triple {6146#false} assume !false; {6146#false} is VALID [2022-04-15 07:44:24,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {6325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6146#false} is VALID [2022-04-15 07:44:24,420 INFO L290 TraceCheckUtils]: 54: Hoare triple {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:24,421 INFO L272 TraceCheckUtils]: 53: Hoare triple {6341#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:44:24,422 INFO L290 TraceCheckUtils]: 52: Hoare triple {6345#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6341#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:44:24,423 INFO L290 TraceCheckUtils]: 51: Hoare triple {6349#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {6345#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:44:24,424 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} {6353#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {6349#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:44:24,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:24,424 INFO L290 TraceCheckUtils]: 48: Hoare triple {6363#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:24,425 INFO L290 TraceCheckUtils]: 47: Hoare triple {6145#true} ~cond := #in~cond; {6363#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:44:24,425 INFO L272 TraceCheckUtils]: 46: Hoare triple {6353#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,426 INFO L290 TraceCheckUtils]: 45: Hoare triple {6370#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6353#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:44:24,428 INFO L290 TraceCheckUtils]: 44: Hoare triple {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6370#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-15 07:44:24,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 42: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6374#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-15 07:44:24,430 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L272 TraceCheckUtils]: 37: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {6145#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6145#true} is VALID [2022-04-15 07:44:24,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {6145#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 33: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L272 TraceCheckUtils]: 28: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 27: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {6145#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {6145#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6145#true} is VALID [2022-04-15 07:44:24,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {6145#true} assume !!(~x~0 <= ~X~0); {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6145#true} {6145#true} #65#return; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 21: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L272 TraceCheckUtils]: 19: Hoare triple {6145#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {6145#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {6145#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6145#true} {6145#true} #63#return; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L272 TraceCheckUtils]: 12: Hoare triple {6145#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {6145#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6145#true} {6145#true} #61#return; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {6145#true} assume !(0 == ~cond); {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {6145#true} ~cond := #in~cond; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {6145#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {6145#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6145#true} is VALID [2022-04-15 07:44:24,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {6145#true} call #t~ret8 := main(); {6145#true} is VALID [2022-04-15 07:44:24,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6145#true} {6145#true} #69#return; {6145#true} is VALID [2022-04-15 07:44:24,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {6145#true} assume true; {6145#true} is VALID [2022-04-15 07:44:24,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {6145#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6145#true} is VALID [2022-04-15 07:44:24,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {6145#true} call ULTIMATE.init(); {6145#true} is VALID [2022-04-15 07:44:24,434 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 07:44:24,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:44:24,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [771580778] [2022-04-15 07:44:24,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:44:24,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1465755571] [2022-04-15 07:44:24,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1465755571] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:44:24,435 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:44:24,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-15 07:44:24,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:44:24,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1079566868] [2022-04-15 07:44:24,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1079566868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:44:24,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:44:24,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:44:24,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [736275384] [2022-04-15 07:44:24,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:44:24,436 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 07:44:24,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:44:24,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:24,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:24,532 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:44:24,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:24,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:44:24,532 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:44:24,533 INFO L87 Difference]: Start difference. First operand 54 states and 54 transitions. Second operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:26,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:26,580 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-15 07:44:26,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:44:26,580 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 07:44:26,580 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:44:26,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:26,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-15 07:44:26,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:26,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-15 07:44:26,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 36 transitions. [2022-04-15 07:44:26,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:26,656 INFO L225 Difference]: With dead ends: 54 [2022-04-15 07:44:26,656 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 07:44:26,657 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 07:44:26,658 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 26 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 184 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 184 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:44:26,658 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 122 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 184 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 07:44:26,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 07:44:26,658 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 07:44:26,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:44:26,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 07:44:26,658 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 07:44:26,658 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 07:44:26,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:26,659 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 07:44:26,659 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 07:44:26,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:26,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:26,659 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 07:44:26,659 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 07:44:26,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:26,659 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 07:44:26,659 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 07:44:26,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:26,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:26,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:44:26,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:44:26,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 07:44:26,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 07:44:26,659 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-15 07:44:26,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:44:26,659 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 07:44:26,660 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:26,660 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 07:44:26,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:26,660 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 07:44:26,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:26,662 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 07:44:26,678 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 07:44:26,862 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 07:44:26,864 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 07:44:36,452 WARN L232 SmtUtils]: Spent 5.59s on a formula simplification. DAG size of input: 117 DAG size of output: 100 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-15 07:44:40,452 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-15 07:44:40,452 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-15 07:44:40,452 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-15 07:44:40,452 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-15 07:44:40,452 INFO L878 garLoopResultBuilder]: At program point L11(line 11) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 07:44:40,452 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 07:44:40,452 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 07:44:40,452 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-15 07:44:40,452 INFO L878 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2)) [2022-04-15 07:44:40,452 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-15 07:44:40,453 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 21 53) the Hoare annotation is: true [2022-04-15 07:44:40,453 INFO L878 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-15 07:44:40,453 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= main_~X~0 2)) (.cse3 (<= 0 main_~Y~0)) (.cse1 (= main_~xy~0 0)) (.cse4 (+ main_~X~0 main_~v~0)) (.cse2 (* main_~Y~0 2)) (.cse5 (= main_~y~0 0)) (.cse6 (= main_~yx~0 0))) (or (and .cse0 .cse1 (< main_~v~0 .cse2) .cse3 (= .cse4 (* main_~Y~0 4)) .cse5 .cse6) (let ((.cse9 (+ main_~X~0 1))) (and .cse0 .cse3 (let ((.cse10 (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0)) (.cse12 (* main_~X~0 main_~y~0)) (.cse13 (div .cse4 2)) (.cse11 (= main_~Y~0 0))) (or (let ((.cse8 (+ .cse12 .cse13 (* (- 1) main_~Y~0)))) (let ((.cse7 (div .cse8 main_~Y~0))) (and (= (* main_~y~0 .cse7) main_~xy~0) (= (mod .cse8 main_~Y~0) 0) (<= .cse7 .cse9) .cse10 (not (<= .cse7 main_~X~0)) (not .cse11) (= main_~yx~0 (* main_~Y~0 .cse7))))) (and (or (let ((.cse14 (div main_~xy~0 main_~y~0))) (and (= (mod main_~xy~0 main_~y~0) 0) (not .cse5) (<= .cse14 .cse9) (< main_~X~0 .cse14))) (and .cse1 .cse5)) .cse10 (= (+ .cse12 .cse13) main_~Y~0) .cse6 .cse11))) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 .cse9) (<= main_~Y~0 2))) (and (= main_~x~0 0) .cse1 (= .cse4 .cse2) .cse5 .cse6))) [2022-04-15 07:44:40,453 INFO L885 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: true [2022-04-15 07:44:40,453 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 21 53) the Hoare annotation is: true [2022-04-15 07:44:40,453 INFO L878 garLoopResultBuilder]: At program point L40(lines 40 45) the Hoare annotation is: (let ((.cse16 (* main_~Y~0 main_~x~0)) (.cse17 (* main_~X~0 main_~y~0)) (.cse14 (* main_~Y~0 2))) (let ((.cse4 (* main_~Y~0 4)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse5 (= main_~y~0 0)) (.cse7 (* main_~X~0 3)) (.cse11 (* main_~Y~0 6)) (.cse1 (< main_~v~0 .cse14)) (.cse0 (<= main_~X~0 2)) (.cse6 (<= main_~x~0 main_~X~0)) (.cse15 (= main_~y~0 1)) (.cse8 (= (+ .cse14 (* 2 .cse16)) (+ (* .cse17 2) main_~X~0 main_~v~0))) (.cse2 (<= 0 main_~Y~0)) (.cse13 (<= 0 main_~X~0)) (.cse9 (= .cse17 main_~xy~0)) (.cse10 (= main_~yx~0 .cse16)) (.cse12 (<= main_~Y~0 2))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and .cse6 (<= .cse7 .cse4) .cse8 (<= 2 main_~x~0) .cse9 .cse10 (= (+ main_~v~0 (* 5 main_~X~0)) .cse11) .cse12) (and .cse0 (= main_~x~0 0) .cse2 .cse13 (= .cse3 .cse14) .cse9 .cse5 .cse10 .cse12) (and .cse0 (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) .cse11) (= (+ main_~v~0 .cse7) .cse11) .cse15 (= .cse14 main_~yx~0) (<= main_~X~0 .cse14) .cse8 .cse1 .cse2 .cse13 (= (mod main_~xy~0 main_~X~0) 0)) (and .cse0 .cse6 .cse15 .cse8 (= main_~x~0 1) .cse2 .cse13 (<= .cse14 (+ main_~v~0 (* main_~X~0 2))) .cse9 .cse10 .cse12)))) [2022-04-15 07:44:40,453 INFO L878 garLoopResultBuilder]: At program point L40-2(lines 40 45) the Hoare annotation is: (let ((.cse18 (* main_~Y~0 2)) (.cse10 (* main_~X~0 3))) (let ((.cse0 (+ main_~v~0 .cse10)) (.cse12 (< main_~v~0 .cse18)) (.cse9 (* 2 (* main_~Y~0 main_~x~0))) (.cse8 (* (* main_~X~0 main_~y~0) 2)) (.cse5 (<= main_~Y~0 2)) (.cse1 (* main_~Y~0 4)) (.cse2 (<= main_~X~0 2)) (.cse14 (= main_~y~0 2)) (.cse7 (<= main_~x~0 main_~X~0)) (.cse13 (<= 0 main_~Y~0)) (.cse11 (<= 2 main_~x~0)) (.cse3 (<= 0 main_~X~0)) (.cse16 (+ main_~v~0 (* 5 main_~X~0))) (.cse6 (* main_~Y~0 8)) (.cse4 (<= .cse18 (+ main_~v~0 (* main_~X~0 2))))) (or (and (= .cse0 .cse1) .cse2 (= main_~x~0 0) (= main_~y~0 1) .cse3 .cse4 .cse5) (and (= .cse6 (+ main_~v~0 (* 7 main_~X~0))) .cse7 (= (+ .cse8 .cse1) (+ (* main_~X~0 6) .cse9)) (<= .cse10 .cse1) .cse11 .cse5) (and .cse2 .cse12 .cse13 (= (+ main_~X~0 main_~v~0) .cse1) (= main_~y~0 0)) (and (let ((.cse17 (* main_~Y~0 6)) (.cse15 (= main_~x~0 1))) (or (and .cse14 .cse7 .cse15 .cse4 (= .cse16 .cse17)) (and .cse2 (= .cse0 .cse17) (<= main_~X~0 .cse18) .cse12 .cse15 .cse13 .cse3 (= (+ .cse1 .cse9) (+ .cse8 main_~X~0 main_~v~0))))) .cse5) (and (< .cse1 .cse10) .cse2 .cse14 .cse7 .cse13 .cse11 .cse3 (<= .cse16 .cse6) .cse4)))) [2022-04-15 07:44:40,454 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse11 (* 2 (* main_~Y~0 main_~x~0))) (.cse9 (* (* main_~X~0 main_~y~0) 2)) (.cse14 (* main_~Y~0 2))) (let ((.cse5 (* main_~Y~0 8)) (.cse7 (<= 3 main_~x~0)) (.cse3 (= main_~y~0 2)) (.cse4 (+ main_~v~0 (* 5 main_~X~0))) (.cse1 (* main_~X~0 3)) (.cse10 (* main_~Y~0 6)) (.cse16 (< main_~v~0 .cse14)) (.cse0 (* main_~Y~0 4)) (.cse17 (<= 0 main_~Y~0)) (.cse18 (+ main_~X~0 main_~v~0)) (.cse19 (= main_~y~0 0)) (.cse2 (<= main_~X~0 2)) (.cse15 (= (+ .cse14 .cse11) (+ .cse9 main_~X~0 main_~v~0))) (.cse6 (<= .cse14 (+ main_~v~0 (* main_~X~0 2)))) (.cse8 (<= main_~x~0 (+ main_~X~0 1))) (.cse12 (<= main_~Y~0 2))) (or (and (< .cse0 .cse1) .cse2 .cse3 (<= .cse4 .cse5) .cse6 .cse7 .cse8) (and (= .cse5 (+ main_~v~0 (* 7 main_~X~0))) (= (+ .cse9 .cse10) (+ (* main_~X~0 6) .cse11)) (<= .cse1 .cse0) .cse7 .cse8 .cse12) (and (let ((.cse13 (= main_~x~0 2))) (or (and .cse3 .cse6 .cse13 (<= 1 main_~X~0) (= .cse4 .cse10)) (and .cse2 (= (+ main_~v~0 .cse1) .cse10) (<= main_~X~0 .cse14) .cse15 .cse16 .cse13))) .cse12) (and .cse2 .cse16 .cse17 (= .cse18 .cse0) .cse19) (and .cse2 (= main_~x~0 0) .cse17 (<= 0 main_~X~0) (= .cse18 .cse14) .cse19 .cse12) (and .cse2 (= main_~y~0 1) .cse15 (= main_~x~0 1) .cse6 .cse8 .cse12)))) [2022-04-15 07:44:40,454 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-15 07:44:40,454 INFO L878 garLoopResultBuilder]: At program point L32-3(lines 32 47) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 4)) (.cse1 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse3 (<= 0 main_~X~0)) (.cse5 (<= main_~Y~0 2)) (.cse6 (= main_~xy~0 0)) (.cse7 (+ main_~X~0 main_~v~0)) (.cse4 (* main_~Y~0 2)) (.cse8 (= main_~y~0 0)) (.cse9 (= main_~yx~0 0))) (or (and (< .cse0 (* main_~X~0 3)) .cse1 (= main_~y~0 2) (= main_~x~0 3) .cse2 .cse3 (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= .cse4 (+ main_~v~0 (* main_~X~0 2))) .cse5) (and .cse1 .cse6 (< main_~v~0 .cse4) .cse2 (= .cse7 .cse0) .cse8 .cse9) (let ((.cse11 (* main_~X~0 main_~y~0)) (.cse10 (* main_~Y~0 main_~x~0))) (and .cse1 (= (+ .cse4 (* 2 .cse10)) (+ (* .cse11 2) main_~X~0 main_~v~0)) .cse2 .cse3 (= .cse11 main_~xy~0) (not (<= main_~x~0 main_~X~0)) (= main_~yx~0 .cse10) (<= main_~x~0 (+ main_~X~0 1)) .cse5)) (and (= main_~x~0 0) .cse6 (= .cse7 .cse4) .cse8 .cse9))) [2022-04-15 07:44:40,454 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse23 (+ main_~X~0 1)) (.cse27 (* main_~X~0 2)) (.cse18 (* main_~Y~0 2)) (.cse26 (* 2 .cse28)) (.cse25 (* .cse29 2))) (let ((.cse1 (= (+ .cse18 .cse26) (+ .cse25 main_~X~0 main_~v~0))) (.cse7 (< main_~v~0 .cse18)) (.cse13 (= main_~x~0 2)) (.cse8 (<= 0 main_~Y~0)) (.cse9 (+ main_~X~0 main_~v~0)) (.cse3 (= .cse29 main_~xy~0)) (.cse11 (= main_~y~0 0)) (.cse4 (= main_~yx~0 .cse28)) (.cse0 (<= main_~X~0 2)) (.cse12 (= main_~xy~0 .cse27)) (.cse14 (+ main_~v~0 (* 5 main_~X~0))) (.cse2 (<= .cse18 (+ main_~v~0 .cse27))) (.cse21 (* main_~Y~0 8)) (.cse15 (* main_~Y~0 6)) (.cse17 (* main_~X~0 3)) (.cse10 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse19 (= (mod main_~xy~0 main_~X~0) 0)) (.cse5 (<= main_~x~0 .cse23)) (.cse6 (<= main_~Y~0 2)) (.cse16 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~y~0 1) .cse1 (= main_~x~0 1) .cse2 .cse3 .cse4 .cse5 .cse6) (and .cse0 (= main_~xy~0 0) .cse7 .cse8 (= .cse9 .cse10) .cse11 (= main_~yx~0 0)) (and .cse12 .cse2 .cse3 .cse4 .cse13 (<= 1 main_~X~0) (= .cse14 .cse15) .cse6) (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse16 2)) .cse15) (= (+ main_~v~0 .cse17) .cse15) (= .cse18 main_~yx~0) (<= main_~X~0 .cse18) .cse1 .cse7 .cse13 .cse19) (and .cse0 (= main_~x~0 0) .cse8 (<= 0 main_~X~0) (= .cse9 .cse18) .cse3 .cse11 .cse4 .cse6) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse10 .cse17) .cse0 (= main_~y~0 2) .cse12 (<= 3 .cse20) (<= .cse14 .cse21) .cse2 .cse22 .cse5 (<= .cse20 .cse23))) (let ((.cse24 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse16) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse24 .cse23) (= (+ .cse25 .cse15) (+ (* main_~X~0 6) .cse26)) (<= 3 .cse24) (<= .cse17 .cse10) (= (* .cse24 main_~Y~0) main_~yx~0) .cse22 .cse19 .cse5 .cse6)))))) [2022-04-15 07:44:40,454 INFO L878 garLoopResultBuilder]: At program point L35-1(lines 32 47) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse24 (+ main_~X~0 1)) (.cse27 (* 2 .cse28)) (.cse26 (* .cse29 2)) (.cse30 (* main_~X~0 2)) (.cse9 (* main_~Y~0 2))) (let ((.cse1 (< main_~v~0 .cse9)) (.cse14 (= main_~xy~0 .cse30)) (.cse18 (+ main_~v~0 (* 5 main_~X~0))) (.cse10 (= (+ .cse9 .cse27) (+ .cse26 main_~X~0 main_~v~0))) (.cse15 (<= .cse9 (+ main_~v~0 .cse30))) (.cse0 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse11 (<= 0 main_~X~0)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse16 (= .cse29 main_~xy~0)) (.cse5 (= main_~y~0 0)) (.cse17 (= main_~yx~0 .cse28)) (.cse21 (* main_~Y~0 8)) (.cse7 (* main_~Y~0 6)) (.cse8 (* main_~X~0 3)) (.cse4 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse13 (= (mod main_~xy~0 main_~X~0) 0)) (.cse23 (<= main_~x~0 .cse24)) (.cse19 (<= main_~Y~0 2)) (.cse6 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and (let ((.cse12 (= main_~x~0 2))) (or (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse6 2)) .cse7) (= (+ main_~v~0 .cse8) .cse7) (= .cse9 main_~yx~0) (<= main_~X~0 .cse9) .cse10 .cse1 .cse2 .cse11 .cse12 .cse13) (and .cse14 .cse15 .cse16 .cse17 .cse12 (<= 1 main_~X~0) (= .cse18 .cse7)))) .cse19) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse4 .cse8) .cse0 (= main_~y~0 2) .cse14 (<= 3 .cse20) .cse2 .cse11 (<= .cse18 .cse21) .cse15 .cse22 .cse23 (<= .cse20 .cse24))) (and .cse0 (= main_~y~0 1) .cse10 (= main_~x~0 1) .cse2 .cse11 .cse15 .cse16 .cse17 .cse19) (and .cse0 (= main_~x~0 0) .cse2 .cse11 (= .cse3 .cse9) .cse16 .cse5 .cse17 .cse19) (let ((.cse25 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse6) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse25 .cse24) (= (+ .cse26 .cse7) (+ (* main_~X~0 6) .cse27)) (<= 3 .cse25) (<= .cse8 .cse4) (= (* .cse25 main_~Y~0) main_~yx~0) .cse22 .cse13 .cse23 .cse19)))))) [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 07:44:40,455 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point L14(lines 14 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point L14-2(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 07:44:40,455 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 07:44:40,458 INFO L719 BasicCegarLoop]: Path program histogram: [6, 6, 4, 2, 2, 2, 2] [2022-04-15 07:44:40,459 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 07:44:40,462 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 07:44:40,466 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 07:44:40,623 INFO L163 areAnnotationChecker]: CFG has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 07:44:40,634 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 07:44:40 BoogieIcfgContainer [2022-04-15 07:44:40,635 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 07:44:40,635 INFO L158 Benchmark]: Toolchain (without parser) took 403795.96ms. Allocated memory was 173.0MB in the beginning and 261.1MB in the end (delta: 88.1MB). Free memory was 118.5MB in the beginning and 170.8MB in the end (delta: -52.3MB). Peak memory consumption was 130.2MB. Max. memory is 8.0GB. [2022-04-15 07:44:40,636 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 173.0MB. Free memory is still 134.7MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 07:44:40,636 INFO L158 Benchmark]: CACSL2BoogieTranslator took 204.50ms. Allocated memory was 173.0MB in the beginning and 261.1MB in the end (delta: 88.1MB). Free memory was 118.3MB in the beginning and 233.2MB in the end (delta: -114.9MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2022-04-15 07:44:40,636 INFO L158 Benchmark]: Boogie Preprocessor took 41.87ms. Allocated memory is still 261.1MB. Free memory was 233.2MB in the beginning and 231.7MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 07:44:40,636 INFO L158 Benchmark]: RCFGBuilder took 280.22ms. Allocated memory is still 261.1MB. Free memory was 231.7MB in the beginning and 219.6MB in the end (delta: 12.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-15 07:44:40,637 INFO L158 Benchmark]: TraceAbstraction took 403264.57ms. Allocated memory is still 261.1MB. Free memory was 219.1MB in the beginning and 170.8MB in the end (delta: 48.3MB). Peak memory consumption was 143.8MB. Max. memory is 8.0GB. [2022-04-15 07:44:40,638 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 173.0MB. Free memory is still 134.7MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 204.50ms. Allocated memory was 173.0MB in the beginning and 261.1MB in the end (delta: 88.1MB). Free memory was 118.3MB in the beginning and 233.2MB in the end (delta: -114.9MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 41.87ms. Allocated memory is still 261.1MB. Free memory was 233.2MB in the beginning and 231.7MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 8.0GB. * RCFGBuilder took 280.22ms. Allocated memory is still 261.1MB. Free memory was 231.7MB in the beginning and 219.6MB in the end (delta: 12.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 403264.57ms. Allocated memory is still 261.1MB. Free memory was 219.1MB in the beginning and 170.8MB in the end (delta: 48.3MB). Peak memory consumption was 143.8MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 403.0s, OverallIterations: 12, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 15.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 13.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 277 SdHoareTripleChecker+Valid, 4.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 261 mSDsluCounter, 1529 SdHoareTripleChecker+Invalid, 4.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 46 IncrementalHoareTripleChecker+Unchecked, 1253 mSDsCounter, 119 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2930 IncrementalHoareTripleChecker+Invalid, 3095 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 119 mSolverCounterUnsat, 276 mSDtfsCounter, 2930 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 911 GetRequests, 639 SyntacticMatches, 16 SemanticMatches, 256 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 1415 ImplicationChecksByTransitivity, 10.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=66occurred in iteration=9, InterpolantAutomatonStates: 163, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.9s AutomataMinimizationTime, 12 MinimizatonAttempts, 38 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 184 PreInvPairs, 300 NumberOfFragments, 2013 HoareAnnotationTreeSize, 184 FomulaSimplifications, 743 FormulaSimplificationTreeSizeReduction, 0.7s HoareSimplificationTime, 32 FomulaSimplificationsInter, 13172 FormulaSimplificationTreeSizeReductionInter, 12.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant Derived loop invariant: ((((((((((Y * 4 < X * 3 && X <= 2) && y == 2) && v + 5 * X <= Y * 8) && Y * 2 <= v + X * 2) && 3 <= x) && x <= X + 1) || (((((Y * 8 == v + 7 * X && X * y * 2 + Y * 6 == X * 6 + 2 * (Y * x)) && X * 3 <= Y * 4) && 3 <= x) && x <= X + 1) && Y <= 2)) || ((((((y == 2 && Y * 2 <= v + X * 2) && x == 2) && 1 <= X) && v + 5 * X == Y * 6) || (((((X <= 2 && v + X * 3 == Y * 6) && X <= Y * 2) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && v < Y * 2) && x == 2)) && Y <= 2)) || ((((X <= 2 && v < Y * 2) && 0 <= Y) && X + v == Y * 4) && y == 0)) || ((((((X <= 2 && x == 0) && 0 <= Y) && 0 <= X) && X + v == Y * 2) && y == 0) && Y <= 2)) || ((((((X <= 2 && y == 1) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && x == 1) && Y * 2 <= v + X * 2) && x <= X + 1) && Y <= 2) - ProcedureContractResult [Line: 10]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 21]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 13]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-15 07:44:40,720 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...