/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_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:46:25,154 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:46:25,156 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:46:25,190 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:46:25,191 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:46:25,192 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:46:25,194 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:46:25,196 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:46:25,197 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:46:25,200 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:46:25,201 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:46:25,202 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:46:25,202 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:46:25,204 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:46:25,204 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:46:25,206 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:46:25,207 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:46:25,207 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:46:25,209 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:46:25,213 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:46:25,214 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:46:25,215 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:46:25,215 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:46:25,216 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:46:25,217 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:46:25,220 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:46:25,220 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:46:25,220 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:46:25,221 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:46:25,221 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:46:25,222 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:46:25,222 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:46:25,223 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:46:25,224 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:46:25,224 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:46:25,225 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:46:25,225 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:46:25,225 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:46:25,226 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:46:25,226 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:46:25,226 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:46:25,227 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:46:25,228 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:46:25,240 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:46:25,240 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:46:25,241 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:46:25,241 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:46:25,241 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:46:25,241 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:46:25,241 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:46:25,242 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:46:25,242 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:46:25,242 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:46:25,242 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:46:25,242 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:46:25,243 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:46:25,243 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:46:25,243 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:46:25,244 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:46:25,244 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:46:25,244 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:46:25,244 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 04:46:25,430 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:46:25,444 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:46:25,445 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:46:25,446 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:46:25,447 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:46:25,448 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c [2022-04-08 04:46:25,501 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/209ff8f5e/876cfec2148a433eb94b66bc8b260cff/FLAGa9e701eb6 [2022-04-08 04:46:25,868 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:46:25,868 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c [2022-04-08 04:46:25,872 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/209ff8f5e/876cfec2148a433eb94b66bc8b260cff/FLAGa9e701eb6 [2022-04-08 04:46:25,879 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/209ff8f5e/876cfec2148a433eb94b66bc8b260cff [2022-04-08 04:46:25,881 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:46:25,882 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:46:25,892 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:46:25,892 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:46:25,894 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:46:25,894 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:46:25" (1/1) ... [2022-04-08 04:46:25,895 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@354e244d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:25, skipping insertion in model container [2022-04-08 04:46:25,895 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:46:25" (1/1) ... [2022-04-08 04:46:25,899 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:46:25,910 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:46:26,039 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_valuebound50.c[597,610] [2022-04-08 04:46:26,064 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:46:26,070 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:46:26,077 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_valuebound50.c[597,610] [2022-04-08 04:46:26,090 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:46:26,099 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:46:26,099 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26 WrapperNode [2022-04-08 04:46:26,099 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:46:26,100 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:46:26,100 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:46:26,100 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:46:26,107 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,107 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,111 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,111 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,115 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,118 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,119 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,122 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:46:26,123 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:46:26,123 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:46:26,123 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:46:26,129 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (1/1) ... [2022-04-08 04:46:26,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:46:26,144 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:26,152 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 04:46:26,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:46:26,183 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:46:26,183 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:46:26,183 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:46:26,183 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:46:26,183 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:46:26,184 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:46:26,184 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:46:26,185 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:46:26,225 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:46:26,226 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:46:26,375 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:46:26,381 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:46:26,381 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 04:46:26,383 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:46:26 BoogieIcfgContainer [2022-04-08 04:46:26,383 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:46:26,384 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:46:26,384 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:46:26,387 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:46:26,387 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:46:25" (1/3) ... [2022-04-08 04:46:26,388 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7603880a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:46:26, skipping insertion in model container [2022-04-08 04:46:26,388 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:46:26" (2/3) ... [2022-04-08 04:46:26,388 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7603880a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:46:26, skipping insertion in model container [2022-04-08 04:46:26,388 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:46:26" (3/3) ... [2022-04-08 04:46:26,389 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound50.c [2022-04-08 04:46:26,392 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:46:26,392 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:46:26,419 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:46:26,425 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:46:26,425 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:46:26,439 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:26,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:46:26,444 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:26,449 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:26,450 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:26,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:26,458 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-08 04:46:26,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:26,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [988639961] [2022-04-08 04:46:26,473 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:26,473 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-08 04:46:26,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:26,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [38630033] [2022-04-08 04:46:26,476 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:26,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:26,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:26,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:46:26,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:26,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 04:46:26,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 04:46:26,624 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 04:46:26,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:46:26,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:26,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:46:26,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:46:26,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:46:26,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 04:46:26,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 04:46:26,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:26,647 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:46:26,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:46:26,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:46:26,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 04:46:26,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:46:26,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-08 04:46:26,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 04:46:26,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-08 04:46:26,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-08 04:46:26,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-08 04:46:26,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-08 04:46:26,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:46:26,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:46:26,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:46:26,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 04:46:26,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-08 04:46:26,651 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-08 04:46:26,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 04:46:26,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 04:46:26,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 04:46:26,652 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 04:46:26,652 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-08 04:46:26,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-08 04:46:26,652 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-08 04:46:26,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-08 04:46:26,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-08 04:46:26,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-08 04:46:26,653 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:46:26,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:26,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [38630033] [2022-04-08 04:46:26,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [38630033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:26,654 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:26,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:46:26,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:26,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [988639961] [2022-04-08 04:46:26,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [988639961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:26,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:26,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:46:26,657 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1144357812] [2022-04-08 04:46:26,657 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:26,660 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:46:26,661 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:26,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:46:26,687 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:26,687 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:46:26,687 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:26,701 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:46:26,701 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:46:26,705 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:46:26,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:26,822 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-08 04:46:26,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:46:26,822 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:46:26,822 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:26,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:46:26,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 04:46:26,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:46:26,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-08 04:46:26,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-08 04:46:26,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:26,936 INFO L225 Difference]: With dead ends: 57 [2022-04-08 04:46:26,936 INFO L226 Difference]: Without dead ends: 27 [2022-04-08 04:46:26,940 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:46:26,945 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:26,946 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:46:26,959 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-08 04:46:26,968 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-08 04:46:26,968 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:26,969 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:46:26,969 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:46:26,969 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:46:26,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:26,972 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 04:46:26,972 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:46:26,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:26,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:26,973 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 04:46:26,973 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-08 04:46:26,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:26,976 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-08 04:46:26,976 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:46:26,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:26,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:26,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:26,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:26,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:46:26,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-08 04:46:26,980 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-08 04:46:26,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:26,980 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-08 04:46:26,980 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:46:26,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-08 04:46:27,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:27,005 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-08 04:46:27,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:46:27,006 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:27,006 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:27,007 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:46:27,007 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:27,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:27,008 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-08 04:46:27,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:27,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2049572758] [2022-04-08 04:46:27,015 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:27,015 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-08 04:46:27,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:27,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [377817290] [2022-04-08 04:46:27,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:27,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:27,048 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:27,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [195560349] [2022-04-08 04:46:27,049 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:27,049 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:27,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:27,056 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:27,057 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 04:46:27,094 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:46:27,094 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:27,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 04:46:27,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:27,121 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:27,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-08 04:46:27,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-08 04:46:27,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:46:27,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-08 04:46:27,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-08 04:46:27,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-08 04:46:27,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {273#true} is VALID [2022-04-08 04:46:27,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 04:46:27,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 04:46:27,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:46:27,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-08 04:46:27,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-08 04:46:27,326 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {273#true} is VALID [2022-04-08 04:46:27,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-08 04:46:27,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-08 04:46:27,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-08 04:46:27,330 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-08 04:46:27,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:27,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-08 04:46:27,334 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:27,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:27,336 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-08 04:46:27,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-08 04:46:27,337 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:46:27,337 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:46:27,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:27,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [377817290] [2022-04-08 04:46:27,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:27,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [195560349] [2022-04-08 04:46:27,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [195560349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:27,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:27,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:46:27,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:27,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2049572758] [2022-04-08 04:46:27,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2049572758] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:27,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:27,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:46:27,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362799769] [2022-04-08 04:46:27,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:27,341 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 04:46:27,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:27,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:46:27,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:27,357 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:46:27,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:27,359 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:46:27,359 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:46:27,360 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:46:27,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:27,560 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 04:46:27,560 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:46:27,560 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 04:46:27,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:27,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:46:27,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:46:27,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:46:27,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:46:27,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-08 04:46:27,613 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:27,617 INFO L225 Difference]: With dead ends: 39 [2022-04-08 04:46:27,617 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 04:46:27,618 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:46:27,619 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:27,622 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:46:27,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 04:46:27,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-08 04:46:27,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:27,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:46:27,637 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:46:27,640 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:46:27,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:27,642 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 04:46:27,642 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 04:46:27,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:27,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:27,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 04:46:27,646 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-08 04:46:27,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:27,656 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-08 04:46:27,656 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-08 04:46:27,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:27,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:27,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:27,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:27,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:46:27,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-08 04:46:27,659 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-08 04:46:27,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:27,659 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-08 04:46:27,659 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 04:46:27,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-08 04:46:27,693 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:27,693 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-08 04:46:27,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:46:27,695 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:27,695 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:27,714 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 04:46:27,904 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:27,904 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:27,905 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:27,905 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-08 04:46:27,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:27,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1473368288] [2022-04-08 04:46:27,905 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:27,905 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-08 04:46:27,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:27,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1937753116] [2022-04-08 04:46:27,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:27,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:27,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:27,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1553815836] [2022-04-08 04:46:27,923 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:27,924 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:27,924 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:27,927 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:27,928 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 04:46:27,971 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:46:27,971 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:27,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:46:27,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:27,990 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:28,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-08 04:46:28,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-08 04:46:28,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-08 04:46:28,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-08 04:46:28,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-08 04:46:28,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-08 04:46:28,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:46:28,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:46:28,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-08 04:46:28,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-08 04:46:28,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-08 04:46:28,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:46:28,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:46:28,394 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:46:28,394 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} is VALID [2022-04-08 04:46:28,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:28,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:28,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~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)); {567#true} is VALID [2022-04-08 04:46:28,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:46:28,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:46:28,396 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,396 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:28,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:28,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:46:28,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (<= main_~Y~0 50) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:46:28,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (<= main_~Y~0 50) (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:46:28,399 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:28,400 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:28,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-08 04:46:28,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-08 04:46:28,400 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:46:28,400 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:46:28,691 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-08 04:46:28,691 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-08 04:46:28,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:28,693 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:28,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:46:28,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:28,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:46:28,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:28,737 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:28,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:46:28,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:46:28,738 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-08 04:46:28,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:28,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:28,741 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-08 04:46:28,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:46:28,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:46:28,741 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-08 04:46:28,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-08 04:46:28,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-08 04:46:28,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-08 04:46:28,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-08 04:46:28,743 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:46:28,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:28,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1937753116] [2022-04-08 04:46:28,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:28,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1553815836] [2022-04-08 04:46:28,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1553815836] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:46:28,744 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:46:28,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-08 04:46:28,744 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:28,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1473368288] [2022-04-08 04:46:28,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1473368288] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:28,744 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:28,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:46:28,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1020567842] [2022-04-08 04:46:28,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:28,745 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:46:28,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:28,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:28,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:28,789 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:46:28,789 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:28,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:46:28,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:46:28,790 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:29,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:29,333 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-08 04:46:29,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:46:29,334 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:46:29,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:29,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:29,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-08 04:46:29,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:29,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-08 04:46:29,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-08 04:46:29,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:29,376 INFO L225 Difference]: With dead ends: 48 [2022-04-08 04:46:29,376 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 04:46:29,376 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:46:29,377 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:29,377 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:46:29,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 04:46:29,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-08 04:46:29,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:29,405 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:29,406 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:29,406 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:29,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:29,407 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-08 04:46:29,408 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-08 04:46:29,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:29,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:29,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-08 04:46:29,408 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-08 04:46:29,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:29,410 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-08 04:46:29,410 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-08 04:46:29,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:29,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:29,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:29,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:29,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:29,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-08 04:46:29,412 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-08 04:46:29,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:29,412 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-08 04:46:29,412 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:29,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-08 04:46:29,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:29,451 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-08 04:46:29,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:46:29,452 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:29,452 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:29,472 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 04:46:29,667 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 04:46:29,668 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:29,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:29,668 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-08 04:46:29,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:29,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2142347338] [2022-04-08 04:46:29,669 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:29,669 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-08 04:46:29,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:29,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94600727] [2022-04-08 04:46:29,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:29,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:29,685 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:29,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2077121373] [2022-04-08 04:46:29,685 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:29,685 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:29,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:29,686 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:29,694 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 04:46:29,725 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:46:29,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:29,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 04:46:29,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:29,738 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:29,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-08 04:46:29,934 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:29,935 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-08 04:46:29,936 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:29,936 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:29,936 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:29,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:29,936 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:29,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:29,937 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:29,938 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:29,938 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:46:29,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:46:29,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-08 04:46:29,940 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:29,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:29,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-08 04:46:29,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-08 04:46:29,941 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:46:29,941 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:46:30,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-08 04:46:30,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-08 04:46:30,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:30,156 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:30,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:46:30,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:30,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:46:30,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:30,161 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:46:30,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:30,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:30,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:30,161 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:30,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:46:30,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:46:30,163 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-08 04:46:30,163 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:30,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:30,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:30,163 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:30,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-08 04:46:30,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-08 04:46:30,165 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:46:30,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:30,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94600727] [2022-04-08 04:46:30,165 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:30,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2077121373] [2022-04-08 04:46:30,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2077121373] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:46:30,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:46:30,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-08 04:46:30,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:30,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2142347338] [2022-04-08 04:46:30,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2142347338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:30,166 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:30,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:46:30,166 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [875624247] [2022-04-08 04:46:30,166 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:30,166 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:46:30,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:30,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:30,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:30,201 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:46:30,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:30,201 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:46:30,201 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:46:30,201 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:30,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:30,543 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-08 04:46:30,543 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:46:30,543 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-08 04:46:30,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:30,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:30,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 04:46:30,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:30,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-08 04:46:30,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-08 04:46:30,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:30,583 INFO L225 Difference]: With dead ends: 56 [2022-04-08 04:46:30,583 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 04:46:30,583 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:46:30,584 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:30,584 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:46:30,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 04:46:30,618 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-08 04:46:30,618 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:30,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:46:30,618 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:46:30,619 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:46:30,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:30,620 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-08 04:46:30,620 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-08 04:46:30,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:30,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:30,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-08 04:46:30,621 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-08 04:46:30,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:30,623 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-08 04:46:30,623 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-08 04:46:30,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:30,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:30,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:30,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:30,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:46:30,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-08 04:46:30,625 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-08 04:46:30,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:30,625 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-08 04:46:30,625 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:46:30,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-08 04:46:30,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:30,677 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-08 04:46:30,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 04:46:30,678 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:30,678 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:30,696 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 04:46:30,887 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:30,887 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:30,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:30,888 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-08 04:46:30,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:30,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1203486969] [2022-04-08 04:46:30,888 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:30,889 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-08 04:46:30,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:30,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [498806435] [2022-04-08 04:46:30,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:30,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:30,906 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:30,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [60866619] [2022-04-08 04:46:30,907 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:30,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:30,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:30,908 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:30,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 04:46:30,945 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:46:30,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:30,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 04:46:30,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:30,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:31,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:46:31,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,298 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-08 04:46:31,301 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:31,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:31,302 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:31,303 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,303 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,303 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:31,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:31,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:46:31,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:46:31,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:46:31,305 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:31,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,307 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~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) (<= 0 main_~X~0))} is VALID [2022-04-08 04:46:31,308 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:46:31,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-08 04:46:31,309 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:31,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:31,310 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-08 04:46:31,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-08 04:46:31,310 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:46:31,310 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:46:31,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-08 04:46:31,834 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-08 04:46:31,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:31,835 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:31,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:31,836 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:46:31,837 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:46:31,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:31,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:46:31,838 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:46:31,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:46:31,841 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:46:31,843 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-08 04:46:31,843 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-08 04:46:31,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-08 04:46:31,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-08 04:46:31,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-08 04:46:31,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-08 04:46:31,845 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:46:31,845 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:31,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [498806435] [2022-04-08 04:46:31,845 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:31,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [60866619] [2022-04-08 04:46:31,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [60866619] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:46:31,845 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:46:31,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-08 04:46:31,846 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:31,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1203486969] [2022-04-08 04:46:31,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1203486969] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:31,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:31,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:46:31,846 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [905807151] [2022-04-08 04:46:31,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:31,846 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 04:46:31,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:31,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:31,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:31,872 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:46:31,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:31,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:46:31,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:46:31,873 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:32,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:32,587 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-08 04:46:32,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:46:32,587 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-08 04:46:32,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:32,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:32,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-08 04:46:32,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:32,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-08 04:46:32,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-08 04:46:32,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:32,626 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:46:32,626 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 04:46:32,627 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=115, Invalid=587, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:46:32,627 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:32,627 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:46:32,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 04:46:32,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-08 04:46:32,671 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:32,671 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:32,671 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:32,671 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:32,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:32,673 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 04:46:32,673 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 04:46:32,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:32,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:32,673 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-08 04:46:32,673 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-08 04:46:32,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:32,675 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 04:46:32,675 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 04:46:32,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:32,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:32,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:32,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:32,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:46:32,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-08 04:46:32,676 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-08 04:46:32,676 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:32,676 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-08 04:46:32,676 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:32,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-08 04:46:32,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:32,728 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-08 04:46:32,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:46:32,728 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:32,728 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:32,752 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 04:46:32,929 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:32,929 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:32,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:32,929 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-08 04:46:32,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:32,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [51001531] [2022-04-08 04:46:32,930 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:32,930 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-08 04:46:32,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:32,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [993969920] [2022-04-08 04:46:32,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:32,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:32,942 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:32,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2002258496] [2022-04-08 04:46:32,942 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:46:32,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:32,943 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:32,946 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:32,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 04:46:32,979 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:46:32,979 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:32,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 04:46:32,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:32,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:50,585 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:46:52,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-08 04:46:52,905 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:52,906 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-08 04:46:52,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,907 INFO L272 TraceCheckUtils]: 19: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:52,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:52,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:52,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:52,909 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,909 INFO L290 TraceCheckUtils]: 24: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:46:52,911 INFO L272 TraceCheckUtils]: 28: Hoare triple {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:52,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:52,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:52,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:52,913 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,913 INFO L290 TraceCheckUtils]: 33: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:46:52,914 INFO L290 TraceCheckUtils]: 34: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:46:52,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-08 04:46:52,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} is VALID [2022-04-08 04:46:52,925 INFO L272 TraceCheckUtils]: 37: Hoare triple {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:52,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:52,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-08 04:46:52,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-08 04:46:52,926 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:46:52,926 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:46:53,495 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-08 04:46:53,496 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-08 04:46:53,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:53,497 INFO L272 TraceCheckUtils]: 37: Hoare triple {2300#(= (+ (* 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)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:53,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {2304#(= (+ (* 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; {2300#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:46:53,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {2308#(= (+ (* (* 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; {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:53,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {2304#(= (+ (* 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; {2308#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:46:53,500 INFO L290 TraceCheckUtils]: 33: Hoare triple {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:53,501 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:46:53,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:53,502 INFO L290 TraceCheckUtils]: 30: Hoare triple {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:53,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:46:53,502 INFO L272 TraceCheckUtils]: 28: Hoare triple {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 26: Hoare triple {2155#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {2155#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:46:53,503 INFO L272 TraceCheckUtils]: 19: Hoare triple {2155#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 18: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-08 04:46:53,504 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-08 04:46:53,505 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:46:53,505 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:46:53,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [993969920] [2022-04-08 04:46:53,505 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:46:53,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2002258496] [2022-04-08 04:46:53,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2002258496] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:46:53,505 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:46:53,506 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:46:53,506 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:46:53,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [51001531] [2022-04-08 04:46:53,506 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [51001531] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:46:53,506 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:46:53,506 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:46:53,506 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1095647964] [2022-04-08 04:46:53,506 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:46:53,506 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:46:53,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:46:53,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:53,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:53,544 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:46:53,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:53,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:46:53,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:46:53,545 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:54,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:54,786 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-08 04:46:54,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:46:54,786 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:46:54,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:46:54,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:54,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:46:54,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:54,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:46:54,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-08 04:46:54,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:54,879 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:46:54,879 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 04:46:54,879 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:46:54,880 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 248 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:46:54,880 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 149 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 248 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:46:54,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 04:46:54,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-08 04:46:54,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:46:54,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:46:54,932 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:46:54,932 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:46:54,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:54,934 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-08 04:46:54,934 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-08 04:46:54,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:54,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:54,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-08 04:46:54,935 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-08 04:46:54,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:46:54,937 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-08 04:46:54,937 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-08 04:46:54,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:46:54,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:46:54,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:46:54,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:46:54,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:46:54,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-08 04:46:54,940 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-08 04:46:54,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:46:54,940 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-08 04:46:54,940 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:46:54,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-08 04:46:55,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:55,025 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-08 04:46:55,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:46:55,026 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:55,026 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:55,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 04:46:55,226 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:55,227 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:55,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:55,227 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-08 04:46:55,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:55,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [927739874] [2022-04-08 04:46:55,228 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:46:55,228 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-08 04:46:55,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:55,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309221717] [2022-04-08 04:46:55,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:55,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:55,240 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:55,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [372631499] [2022-04-08 04:46:55,240 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:55,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:55,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:55,246 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:46:55,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 04:46:55,286 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:46:55,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:55,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:46:55,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:55,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:46:55,575 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:46:55,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-08 04:46:55,576 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {2828#(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; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,577 INFO L272 TraceCheckUtils]: 19: Hoare triple {2828#(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)); {2772#true} is VALID [2022-04-08 04:46:55,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:46:55,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:46:55,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:46:55,578 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {2828#(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); {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {2828#(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; {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:46:55,580 INFO L272 TraceCheckUtils]: 28: Hoare triple {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:46:55,587 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:55,588 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:55,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:46:55,589 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-08 04:46:55,590 INFO L290 TraceCheckUtils]: 34: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= 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; {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-08 04:46:55,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-08 04:46:55,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-08 04:46:55,592 INFO L272 TraceCheckUtils]: 37: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:46:55,593 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:46:55,593 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-08 04:46:55,593 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-08 04:46:55,593 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 04:46:55,593 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:01,983 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-08 04:47:01,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-08 04:47:01,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:01,984 INFO L272 TraceCheckUtils]: 37: Hoare triple {2917#(= (+ (* 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)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:01,985 INFO L290 TraceCheckUtils]: 36: Hoare triple {2921#(= (+ (* 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; {2917#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:47:01,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {2925#(= (+ (* (* 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; {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:01,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {2921#(= (+ (* 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; {2925#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:47:01,988 INFO L290 TraceCheckUtils]: 33: Hoare triple {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:01,989 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:01,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:01,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:01,990 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:47:01,990 INFO L272 TraceCheckUtils]: 28: Hoare triple {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 27: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 26: Hoare triple {2772#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 25: Hoare triple {2772#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:47:01,991 INFO L272 TraceCheckUtils]: 19: Hoare triple {2772#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-08 04:47:01,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-08 04:47:01,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-08 04:47:01,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-08 04:47:01,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-08 04:47:01,993 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-08 04:47:01,993 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:47:01,993 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:01,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309221717] [2022-04-08 04:47:01,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:01,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [372631499] [2022-04-08 04:47:01,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [372631499] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:01,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:01,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:47:01,994 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:01,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [927739874] [2022-04-08 04:47:01,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [927739874] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:01,994 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:01,994 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:47:01,994 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [51896126] [2022-04-08 04:47:01,994 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:01,994 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:01,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:01,995 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:02,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:02,025 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:47:02,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:02,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:47:02,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:47:02,025 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:02,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:02,720 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-08 04:47:02,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:47:02,720 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:02,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:02,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:02,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:47:02,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:02,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-08 04:47:02,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-08 04:47:02,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:02,771 INFO L225 Difference]: With dead ends: 72 [2022-04-08 04:47:02,771 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 04:47:02,771 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:47:02,772 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:02,772 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 186 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:47:02,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 04:47:02,816 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-08 04:47:02,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:02,817 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:47:02,817 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:47:02,817 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:47:02,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:02,819 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-08 04:47:02,819 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 04:47:02,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:02,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:02,819 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-08 04:47:02,819 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-08 04:47:02,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:02,821 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-08 04:47:02,821 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 04:47:02,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:02,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:02,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:02,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:02,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:47:02,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-08 04:47:02,823 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-08 04:47:02,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:02,823 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-08 04:47:02,824 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:02,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-08 04:47:02,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:02,920 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 04:47:02,921 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:47:02,921 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:02,921 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:02,937 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 04:47:03,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:03,129 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:03,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:03,130 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-08 04:47:03,130 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:03,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1637854854] [2022-04-08 04:47:03,130 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:03,130 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-08 04:47:03,130 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:03,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629238978] [2022-04-08 04:47:03,130 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:03,130 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:03,140 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:03,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [611913738] [2022-04-08 04:47:03,140 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:47:03,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:03,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:03,141 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:47:03,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 04:47:03,186 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:47:03,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:03,186 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:47:03,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:03,197 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:15,023 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:47:21,064 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:47:23,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-08 04:47:23,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-08 04:47:23,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:23,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-08 04:47:23,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-08 04:47:23,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:23,481 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-08 04:47:23,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:47:23,481 INFO L290 TraceCheckUtils]: 18: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:47:23,482 INFO L272 TraceCheckUtils]: 19: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:23,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:23,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:23,482 INFO L290 TraceCheckUtils]: 22: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:23,483 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:47:23,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:47:23,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:47:23,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:47:23,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:47:23,485 INFO L272 TraceCheckUtils]: 28: Hoare triple {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:23,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:23,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:23,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:23,487 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #65#return; {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:47:23,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-08 04:47:23,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (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_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:47:23,490 INFO L290 TraceCheckUtils]: 35: Hoare triple {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (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_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} is VALID [2022-04-08 04:47:23,492 INFO L290 TraceCheckUtils]: 36: Hoare triple {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-08 04:47:23,493 INFO L272 TraceCheckUtils]: 37: Hoare triple {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:23,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:23,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-08 04:47:23,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-08 04:47:23,494 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:47:23,494 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:28,145 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-08 04:47:28,145 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-08 04:47:28,146 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:28,146 INFO L272 TraceCheckUtils]: 37: Hoare triple {3589#(= (+ (* 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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:28,147 INFO L290 TraceCheckUtils]: 36: Hoare triple {3593#(= (+ (* 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; {3589#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:47:28,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {3597#(= (+ (* (* 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; {3593#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:28,149 INFO L290 TraceCheckUtils]: 34: Hoare triple {3601#(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; {3597#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:47:28,150 INFO L290 TraceCheckUtils]: 33: Hoare triple {3601#(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); {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:47:28,150 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3608#(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; {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:47:28,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:28,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:28,151 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:47:28,151 INFO L272 TraceCheckUtils]: 28: Hoare triple {3608#(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)); {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3608#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 26: Hoare triple {3443#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {3443#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; {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L272 TraceCheckUtils]: 19: Hoare triple {3443#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:28,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-08 04:47:28,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-08 04:47:28,154 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:47:28,154 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:28,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1629238978] [2022-04-08 04:47:28,154 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:28,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [611913738] [2022-04-08 04:47:28,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [611913738] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:28,154 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:28,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 04:47:28,155 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:28,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1637854854] [2022-04-08 04:47:28,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1637854854] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:28,155 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:28,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:47:28,155 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [81553704] [2022-04-08 04:47:28,155 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:28,155 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:28,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:28,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:28,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:28,181 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:47:28,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:28,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:47:28,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=319, Unknown=1, NotChecked=0, Total=380 [2022-04-08 04:47:28,182 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:33,027 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:47:35,111 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:47:37,164 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:47:40,873 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:47:41,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,522 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-08 04:47:41,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:47:41,523 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:41,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:41,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:41,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-08 04:47:41,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:41,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-08 04:47:41,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-08 04:47:41,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:41,589 INFO L225 Difference]: With dead ends: 86 [2022-04-08 04:47:41,589 INFO L226 Difference]: Without dead ends: 73 [2022-04-08 04:47:41,589 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=98, Invalid=501, Unknown=1, NotChecked=0, Total=600 [2022-04-08 04:47:41,589 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 6 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:41,590 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 299 Invalid, 3 Unknown, 0 Unchecked, 8.4s Time] [2022-04-08 04:47:41,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-08 04:47:41,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-08 04:47:41,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:41,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:41,684 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:41,685 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:41,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,686 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 04:47:41,686 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:47:41,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:41,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:41,687 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-08 04:47:41,687 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-08 04:47:41,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:41,688 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 04:47:41,688 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:47:41,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:41,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:41,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:41,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:41,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:41,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:47:41,690 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-08 04:47:41,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:41,690 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:47:41,691 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:41,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:47:41,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:41,857 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:47:41,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 04:47:41,857 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:41,857 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:41,875 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 04:47:42,057 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:42,058 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:42,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:42,058 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-08 04:47:42,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:42,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [359838653] [2022-04-08 04:47:42,059 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:42,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-08 04:47:42,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:42,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1966758612] [2022-04-08 04:47:42,059 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:42,059 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:42,071 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:42,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [259237932] [2022-04-08 04:47:42,071 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:47:42,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:42,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:42,075 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:47:42,076 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 04:47:42,128 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:47:42,128 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:42,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:47:42,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:42,138 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:42,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-08 04:47:42,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-08 04:47:42,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:42,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {4238#(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; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:42,420 INFO L272 TraceCheckUtils]: 19: Hoare triple {4238#(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)); {4182#true} is VALID [2022-04-08 04:47:42,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,420 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:42,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {4238#(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); {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:42,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {4238#(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; {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:47:42,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:47:42,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= 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; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:47:42,422 INFO L272 TraceCheckUtils]: 28: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= 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)); {4182#true} is VALID [2022-04-08 04:47:42,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,423 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:47:42,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4289#(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))))} is VALID [2022-04-08 04:47:42,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {4289#(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))))} 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; {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:47:42,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:47:42,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} is VALID [2022-04-08 04:47:42,426 INFO L272 TraceCheckUtils]: 37: Hoare triple {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:42,426 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:42,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-08 04:47:42,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-08 04:47:42,426 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:47:42,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:42,853 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-08 04:47:42,853 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-08 04:47:42,854 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:42,855 INFO L272 TraceCheckUtils]: 37: Hoare triple {4325#(= (+ (* 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)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:42,855 INFO L290 TraceCheckUtils]: 36: Hoare triple {4329#(= (+ (* 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; {4325#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:47:42,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {4333#(= (+ (* (* 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; {4329#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:42,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {4337#(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; {4333#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:47:42,860 INFO L290 TraceCheckUtils]: 33: Hoare triple {4341#(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); {4337#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:47:42,860 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4341#(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)))} #65#return; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:47:42,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,861 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,861 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,861 INFO L272 TraceCheckUtils]: 28: Hoare triple {4341#(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)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,861 INFO L290 TraceCheckUtils]: 27: Hoare triple {4341#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:47:42,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:47:42,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} 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; {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-08 04:47:42,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:47:42,876 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:47:42,876 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,876 INFO L272 TraceCheckUtils]: 19: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:47:42,877 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:47:42,877 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-08 04:47:42,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-08 04:47:42,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-08 04:47:42,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-08 04:47:42,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-08 04:47:42,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-08 04:47:42,879 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 04:47:42,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:42,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1966758612] [2022-04-08 04:47:42,879 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:42,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [259237932] [2022-04-08 04:47:42,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [259237932] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:42,880 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:42,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-08 04:47:42,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:42,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [359838653] [2022-04-08 04:47:42,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [359838653] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:42,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:42,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:47:42,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924753091] [2022-04-08 04:47:42,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:42,881 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:42,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:42,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:42,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:42,912 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:47:42,912 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:42,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:47:42,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:47:42,913 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:43,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:43,709 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-08 04:47:43,709 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:47:43,710 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-08 04:47:43,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:43,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:43,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-08 04:47:43,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:43,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-08 04:47:43,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-08 04:47:43,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:43,772 INFO L225 Difference]: With dead ends: 86 [2022-04-08 04:47:43,772 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 04:47:43,773 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:47:43,773 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:43,773 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:47:43,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 04:47:43,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-08 04:47:43,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:43,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:43,873 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:43,873 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:43,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:43,876 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:47:43,876 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:47:43,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:43,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:43,877 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:47:43,877 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-08 04:47:43,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:43,879 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-08 04:47:43,879 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-08 04:47:43,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:43,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:43,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:43,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:43,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:43,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:47:43,881 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-08 04:47:43,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:43,881 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:47:43,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 04:47:43,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:47:44,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:44,035 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:47:44,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 04:47:44,036 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:44,036 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:44,040 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 04:47:44,240 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 04:47:44,240 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:44,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:44,241 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-08 04:47:44,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:44,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [28170750] [2022-04-08 04:47:44,241 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:44,241 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-08 04:47:44,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:44,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1904520678] [2022-04-08 04:47:44,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:44,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:44,267 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:44,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1497620183] [2022-04-08 04:47:44,267 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:47:44,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:44,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:44,270 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:47:44,271 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 04:47:44,306 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:47:44,307 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:44,307 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 04:47:44,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:44,318 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:45,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-08 04:47:45,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,114 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-08 04:47:45,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:45,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:45,115 INFO L272 TraceCheckUtils]: 19: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,115 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,115 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,115 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:45,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:47:45,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:45,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:45,118 INFO L290 TraceCheckUtils]: 27: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:45,118 INFO L272 TraceCheckUtils]: 28: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,119 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:45,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:47:45,120 INFO L290 TraceCheckUtils]: 34: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:45,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:45,121 INFO L290 TraceCheckUtils]: 36: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:45,121 INFO L272 TraceCheckUtils]: 37: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,121 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,121 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,122 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-08 04:47:45,123 INFO L290 TraceCheckUtils]: 42: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-08 04:47:45,123 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:47:45,123 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:45,408 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-08 04:47:45,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-08 04:47:45,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-08 04:47:45,409 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4936#false} is VALID [2022-04-08 04:47:45,409 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-08 04:47:45,409 INFO L290 TraceCheckUtils]: 42: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-08 04:47:45,410 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5101#(<= main_~x~0 main_~X~0)} #65#return; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:45,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,410 INFO L272 TraceCheckUtils]: 37: Hoare triple {5101#(<= 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)); {4935#true} is VALID [2022-04-08 04:47:45,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:45,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {5123#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:47:45,425 INFO L290 TraceCheckUtils]: 34: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5123#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:47:45,425 INFO L290 TraceCheckUtils]: 33: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:47:45,426 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:47:45,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,426 INFO L272 TraceCheckUtils]: 28: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:47:45,427 INFO L290 TraceCheckUtils]: 26: Hoare triple {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:47:45,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:47:45,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:47:45,429 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:47:45,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,429 INFO L272 TraceCheckUtils]: 19: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,430 INFO L290 TraceCheckUtils]: 18: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:47:45,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:47:45,430 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-08 04:47:45,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-08 04:47:45,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-08 04:47:45,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-08 04:47:45,432 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-08 04:47:45,432 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:47:45,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:45,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1904520678] [2022-04-08 04:47:45,432 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:45,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497620183] [2022-04-08 04:47:45,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1497620183] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:45,432 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:45,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 04:47:45,433 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:45,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [28170750] [2022-04-08 04:47:45,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [28170750] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:45,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:45,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:47:45,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [671746944] [2022-04-08 04:47:45,433 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:45,433 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:47:45,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:45,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:45,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:45,466 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:47:45,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:45,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:47:45,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:47:45,467 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:45,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:45,860 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-08 04:47:45,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:47:45,860 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:47:45,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:45,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:45,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-08 04:47:45,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:45,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-08 04:47:45,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-08 04:47:45,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:45,909 INFO L225 Difference]: With dead ends: 87 [2022-04-08 04:47:45,909 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 04:47:45,909 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:47:45,909 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:45,910 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:47:45,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 04:47:46,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-08 04:47:46,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:46,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:47:46,042 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:47:46,043 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:47:46,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:46,045 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:47:46,045 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:47:46,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:46,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:46,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 04:47:46,045 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-08 04:47:46,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:46,047 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:47:46,047 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:47:46,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:46,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:46,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:46,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:46,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:47:46,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-08 04:47:46,049 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-08 04:47:46,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:46,050 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-08 04:47:46,050 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:46,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-08 04:47:46,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:46,230 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-08 04:47:46,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 04:47:46,231 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:46,231 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:46,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 04:47:46,431 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 04:47:46,431 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:46,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:46,432 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-08 04:47:46,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:46,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1810840634] [2022-04-08 04:47:46,432 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:46,432 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-08 04:47:46,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:46,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [256316904] [2022-04-08 04:47:46,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:46,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:46,456 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:46,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [688893728] [2022-04-08 04:47:46,457 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:47:46,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:46,457 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:46,460 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:47:46,461 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 04:47:46,508 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:47:46,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:46,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 04:47:46,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:46,522 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:47,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-08 04:47:47,024 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,025 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-08 04:47:47,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:47,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:47,026 INFO L272 TraceCheckUtils]: 19: Hoare triple {5774#(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)); {5718#true} is VALID [2022-04-08 04:47:47,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,026 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,026 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5774#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:47,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:47:47,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {5774#(and (= 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; {5799#(and (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-08 04:47:47,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {5799#(and (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-08 04:47:47,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-08 04:47:47,028 INFO L272 TraceCheckUtils]: 28: Hoare triple {5803#(and (= main_~y~0 1) (= 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)); {5718#true} is VALID [2022-04-08 04:47:47,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:47,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,030 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5803#(and (= main_~y~0 1) (= main_~x~0 1))} #65#return; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-08 04:47:47,030 INFO L290 TraceCheckUtils]: 33: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-08 04:47:47,030 INFO L290 TraceCheckUtils]: 34: Hoare triple {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= 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; {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} is VALID [2022-04-08 04:47:47,031 INFO L290 TraceCheckUtils]: 35: Hoare triple {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:47:47,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:47:47,031 INFO L272 TraceCheckUtils]: 37: Hoare triple {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* 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)); {5718#true} is VALID [2022-04-08 04:47:47,032 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:47,032 INFO L290 TraceCheckUtils]: 39: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,032 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,033 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* 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; {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:47:47,034 INFO L290 TraceCheckUtils]: 42: Hoare triple {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:47:47,035 INFO L290 TraceCheckUtils]: 43: Hoare triple {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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)) (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; {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-08 04:47:47,036 INFO L272 TraceCheckUtils]: 44: Hoare triple {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:47,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:47,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-08 04:47:47,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-08 04:47:47,037 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:47:47,037 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:47:47,566 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-08 04:47:47,567 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-08 04:47:47,567 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:47:47,568 INFO L272 TraceCheckUtils]: 44: Hoare triple {5887#(= (+ (* 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)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:47:47,569 INFO L290 TraceCheckUtils]: 43: Hoare triple {5891#(= (+ (* 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; {5887#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:47:47,569 INFO L290 TraceCheckUtils]: 42: Hoare triple {5895#(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); {5891#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:47:47,570 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5899#(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; {5895#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:47:47,570 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:47:47,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:47:47,571 INFO L272 TraceCheckUtils]: 37: Hoare triple {5899#(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)); {5718#true} is VALID [2022-04-08 04:47:47,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {5916#(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; {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:47:47,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5916#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:47:47,575 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:47:47,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:47:47,576 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-08 04:47:47,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,576 INFO L272 TraceCheckUtils]: 28: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {5718#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 25: Hoare triple {5718#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; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L272 TraceCheckUtils]: 19: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-08 04:47:47,578 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-08 04:47:47,578 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:47:47,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [256316904] [2022-04-08 04:47:47,579 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:47:47,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [688893728] [2022-04-08 04:47:47,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [688893728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:47:47,579 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:47:47,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-08 04:47:47,579 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:47:47,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1810840634] [2022-04-08 04:47:47,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1810840634] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:47:47,579 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:47:47,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:47:47,579 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [904691527] [2022-04-08 04:47:47,579 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:47:47,580 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:47:47,580 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:47:47,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:47,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:47,622 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:47:47,622 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:47,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:47:47,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:47:47,623 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:48,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:48,583 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-08 04:47:48,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 04:47:48,583 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-08 04:47:48,583 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:47:48,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:48,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-08 04:47:48,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:48,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-08 04:47:48,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-08 04:47:48,627 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:48,628 INFO L225 Difference]: With dead ends: 87 [2022-04-08 04:47:48,628 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 04:47:48,628 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-08 04:47:48,629 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:47:48,629 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 211 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:47:48,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 04:47:48,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-08 04:47:48,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:47:48,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:48,737 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:48,737 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:48,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:48,739 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:47:48,739 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:47:48,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:48,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:48,739 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-08 04:47:48,739 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-08 04:47:48,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:47:48,741 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-08 04:47:48,741 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-08 04:47:48,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:47:48,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:47:48,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:47:48,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:47:48,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:47:48,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-08 04:47:48,742 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-08 04:47:48,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:47:48,742 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-08 04:47:48,742 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:47:48,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-08 04:47:48,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:47:48,881 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-08 04:47:48,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:47:48,881 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:47:48,881 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:47:48,897 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 04:47:49,082 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 04:47:49,082 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:47:49,082 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:47:49,082 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-08 04:47:49,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:47:49,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1545017489] [2022-04-08 04:47:49,083 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:47:49,083 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-08 04:47:49,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:47:49,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781731398] [2022-04-08 04:47:49,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:47:49,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:47:49,102 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:47:49,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1171102516] [2022-04-08 04:47:49,102 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:47:49,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:47:49,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:47:49,108 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:47:49,108 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 04:47:49,145 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:47:49,146 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:47:49,147 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-08 04:47:49,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:47:49,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:47:51,922 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:04,634 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:07,527 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:12,131 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:12,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-08 04:48:12,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-08 04:48:12,404 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:12,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6561#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:48:12,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {6561#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6565#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:48:12,404 INFO L290 TraceCheckUtils]: 15: Hoare triple {6565#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6565#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:48:12,405 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6565#(not (= |assume_abort_if_not_#in~cond| 0))} {6517#true} #63#return; {6572#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} is VALID [2022-04-08 04:48:12,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {6572#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:12,406 INFO L290 TraceCheckUtils]: 18: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:12,406 INFO L272 TraceCheckUtils]: 19: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~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)); {6517#true} is VALID [2022-04-08 04:48:12,406 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:12,406 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:12,406 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:12,407 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:12,407 INFO L290 TraceCheckUtils]: 24: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-08 04:48:12,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6601#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:48:12,408 INFO L290 TraceCheckUtils]: 26: Hoare triple {6601#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6605#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:48:12,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {6605#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:48:12,409 INFO L272 TraceCheckUtils]: 28: Hoare triple {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:12,409 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:12,409 INFO L290 TraceCheckUtils]: 30: Hoare triple {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:12,409 INFO L290 TraceCheckUtils]: 31: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:12,411 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:48:12,411 INFO L290 TraceCheckUtils]: 33: Hoare triple {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:48:12,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6634#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:48:12,413 INFO L290 TraceCheckUtils]: 35: Hoare triple {6634#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6638#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:48:12,413 INFO L290 TraceCheckUtils]: 36: Hoare triple {6638#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:48:12,413 INFO L272 TraceCheckUtils]: 37: Hoare triple {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~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)); {6517#true} is VALID [2022-04-08 04:48:12,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:12,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:12,414 INFO L290 TraceCheckUtils]: 40: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:12,415 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} #65#return; {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:48:12,415 INFO L290 TraceCheckUtils]: 42: Hoare triple {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-08 04:48:12,416 INFO L290 TraceCheckUtils]: 43: Hoare triple {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6665#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:48:12,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {6665#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6669#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-08 04:48:12,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {6669#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (<= main_~x~0 3) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6673#(and (= (+ main_~X~0 main_~v~0) (+ (* 2 (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0))) (* main_~Y~0 2))) (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0))} is VALID [2022-04-08 04:48:12,423 INFO L272 TraceCheckUtils]: 46: Hoare triple {6673#(and (= (+ main_~X~0 main_~v~0) (+ (* 2 (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0))) (* main_~Y~0 2))) (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~Y~0 (div (* main_~Y~0 3) 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)); {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:48:12,423 INFO L290 TraceCheckUtils]: 47: Hoare triple {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6681#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:12,423 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-08 04:48:12,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-08 04:48:12,424 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 13 proven. 23 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 04:48:12,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:48:15,688 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-08 04:48:15,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-08 04:48:15,699 INFO L290 TraceCheckUtils]: 47: Hoare triple {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6681#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:48:15,700 INFO L272 TraceCheckUtils]: 46: Hoare triple {6697#(= (+ (* 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)); {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:48:15,701 INFO L290 TraceCheckUtils]: 45: Hoare triple {6701#(= (+ (* 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; {6697#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:48:15,702 INFO L290 TraceCheckUtils]: 44: Hoare triple {6705#(= (+ (* (* 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; {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:48:15,703 INFO L290 TraceCheckUtils]: 43: Hoare triple {6701#(= (+ (* 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; {6705#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:48:15,704 INFO L290 TraceCheckUtils]: 42: Hoare triple {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:48:15,704 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6715#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:48:15,705 INFO L290 TraceCheckUtils]: 40: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:15,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {6725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:48:15,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:48:15,705 INFO L272 TraceCheckUtils]: 37: Hoare triple {6715#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 36: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6715#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 34: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L272 TraceCheckUtils]: 28: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:15,706 INFO L290 TraceCheckUtils]: 27: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L272 TraceCheckUtils]: 19: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-08 04:48:15,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-08 04:48:15,708 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:48:15,708 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:48:15,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781731398] [2022-04-08 04:48:15,709 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:48:15,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1171102516] [2022-04-08 04:48:15,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1171102516] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:48:15,709 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:48:15,709 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 10] total 26 [2022-04-08 04:48:15,709 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:48:15,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1545017489] [2022-04-08 04:48:15,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1545017489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:48:15,709 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:48:15,709 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 04:48:15,709 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [807251910] [2022-04-08 04:48:15,710 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:48:15,710 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 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 50 [2022-04-08 04:48:15,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:48:15,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:15,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:15,761 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 04:48:15,761 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:48:15,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 04:48:15,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=564, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:48:15,762 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:17,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:17,328 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-08 04:48:17,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 04:48:17,329 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 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 50 [2022-04-08 04:48:17,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:48:17,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:17,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-08 04:48:17,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:17,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-08 04:48:17,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-08 04:48:17,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:17,440 INFO L225 Difference]: With dead ends: 92 [2022-04-08 04:48:17,440 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 04:48:17,441 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 259 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=137, Invalid=919, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 04:48:17,441 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 511 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:48:17,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 102 Invalid, 511 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 482 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:48:17,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 04:48:17,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-08 04:48:17,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:48:17,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:48:17,549 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:48:17,549 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:48:17,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:17,550 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-08 04:48:17,550 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-08 04:48:17,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:48:17,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:48:17,551 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-08 04:48:17,551 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-08 04:48:17,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:48:17,552 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-08 04:48:17,552 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-08 04:48:17,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:48:17,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:48:17,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:48:17,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:48:17,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:48:17,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-08 04:48:17,553 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-08 04:48:17,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:48:17,554 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-08 04:48:17,554 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:48:17,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-08 04:48:17,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:48:17,698 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-08 04:48:17,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:48:17,699 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:48:17,699 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:48:17,718 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 04:48:17,899 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 04:48:17,899 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:48:17,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:48:17,900 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-08 04:48:17,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:48:17,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2020827529] [2022-04-08 04:48:17,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:48:17,900 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-08 04:48:17,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:48:17,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1028176085] [2022-04-08 04:48:17,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:48:17,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:48:17,910 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:48:17,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [554020665] [2022-04-08 04:48:17,910 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:48:17,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:48:17,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:48:17,915 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:48:17,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 04:48:17,961 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:48:17,961 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:48:17,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 04:48:17,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:48:17,976 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:48:22,584 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:48:34,663 WARN L232 SmtUtils]: Spent 6.56s on a formula simplification that was a NOOP. DAG size: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:49:03,734 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:49:10,697 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {7374#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); {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {7374#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; {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {7374#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:10,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {7374#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L272 TraceCheckUtils]: 12: Hoare triple {7374#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-08 04:49:10,698 INFO L290 TraceCheckUtils]: 17: Hoare triple {7374#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,699 INFO L290 TraceCheckUtils]: 18: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,699 INFO L272 TraceCheckUtils]: 19: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:10,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:10,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:10,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:10,699 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7374#true} {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7455#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {7455#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7459#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {7459#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:49:10,701 INFO L272 TraceCheckUtils]: 28: Hoare triple {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:10,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:49:10,702 INFO L290 TraceCheckUtils]: 30: Hoare triple {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:10,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:10,703 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:49:10,704 INFO L290 TraceCheckUtils]: 34: Hoare triple {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7488#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:49:12,706 WARN L290 TraceCheckUtils]: 35: Hoare triple {7488#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7492#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))))} is UNKNOWN [2022-04-08 04:49:12,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {7492#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))))} is VALID [2022-04-08 04:49:12,708 INFO L272 TraceCheckUtils]: 37: Hoare triple {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~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)); {7374#true} is VALID [2022-04-08 04:49:12,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:49:12,708 INFO L290 TraceCheckUtils]: 39: Hoare triple {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:12,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:12,710 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))))} #65#return; {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} is VALID [2022-04-08 04:49:12,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} is VALID [2022-04-08 04:49:12,715 INFO L290 TraceCheckUtils]: 43: Hoare triple {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0)) (and (<= 2 main_~x~0) (= main_~Y~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; {7519#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)))} is VALID [2022-04-08 04:49:12,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {7519#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7523#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:49:12,724 INFO L290 TraceCheckUtils]: 45: Hoare triple {7523#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7527#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= 1 (div (+ (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~X~0 main_~xy~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (mod main_~yx~0 main_~Y~0) 0))} is VALID [2022-04-08 04:49:12,726 INFO L272 TraceCheckUtils]: 46: Hoare triple {7527#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= 1 (div (+ (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~X~0 main_~xy~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (mod main_~yx~0 main_~Y~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:49:12,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7535#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:49:12,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-08 04:49:12,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-08 04:49:12,727 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:49:12,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:49:18,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-08 04:49:18,902 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-08 04:49:18,902 INFO L290 TraceCheckUtils]: 47: Hoare triple {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7535#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:49:18,903 INFO L272 TraceCheckUtils]: 46: Hoare triple {7551#(= (+ (* 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)); {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:49:18,903 INFO L290 TraceCheckUtils]: 45: Hoare triple {7555#(= (+ (* 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; {7551#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:49:18,906 INFO L290 TraceCheckUtils]: 44: Hoare triple {7559#(= (+ (* (* 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; {7555#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:49:18,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {7563#(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; {7559#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:49:18,908 INFO L290 TraceCheckUtils]: 42: Hoare triple {7563#(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 !!(~x~0 <= ~X~0); {7563#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:49:18,909 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7570#(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)))))} #65#return; {7563#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:49:18,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:18,910 INFO L290 TraceCheckUtils]: 39: Hoare triple {7580#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:49:18,910 INFO L290 TraceCheckUtils]: 38: Hoare triple {7374#true} ~cond := #in~cond; {7580#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:49:18,910 INFO L272 TraceCheckUtils]: 37: Hoare triple {7570#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:18,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7570#(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)))))} is VALID [2022-04-08 04:49:18,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {7374#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7374#true} is VALID [2022-04-08 04:49:18,911 INFO L290 TraceCheckUtils]: 34: Hoare triple {7374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7374#true} is VALID [2022-04-08 04:49:18,911 INFO L290 TraceCheckUtils]: 33: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-08 04:49:18,911 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L272 TraceCheckUtils]: 28: Hoare triple {7374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {7374#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {7374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L272 TraceCheckUtils]: 19: Hoare triple {7374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {7374#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-08 04:49:18,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L272 TraceCheckUtils]: 12: Hoare triple {7374#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 11: Hoare triple {7374#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L272 TraceCheckUtils]: 6: Hoare triple {7374#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 5: Hoare triple {7374#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; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {7374#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); {7374#true} is VALID [2022-04-08 04:49:18,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-08 04:49:18,914 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:49:18,914 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:49:18,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1028176085] [2022-04-08 04:49:18,914 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:49:18,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554020665] [2022-04-08 04:49:18,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554020665] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:49:18,914 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:49:18,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-08 04:49:18,914 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:49:18,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2020827529] [2022-04-08 04:49:18,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2020827529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:49:18,914 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:49:18,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 04:49:18,914 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1539104766] [2022-04-08 04:49:18,914 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:49:18,915 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:49:18,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:49:18,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:49:21,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:49:21,269 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 04:49:21,269 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:49:21,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 04:49:21,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=481, Unknown=1, NotChecked=0, Total=552 [2022-04-08 04:49:21,269 INFO L87 Difference]: Start difference. First operand 79 states and 86 transitions. Second operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:49:23,891 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:49:26,015 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:49:28,053 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:49:30,113 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:49:51,727 WARN L232 SmtUtils]: Spent 16.64s on a formula simplification. DAG size of input: 57 DAG size of output: 47 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:49:53,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:49:53,440 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-08 04:49:53,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:49:53,440 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:49:53,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:49:53,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:49:53,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-08 04:49:53,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:49:53,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-08 04:49:53,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-08 04:49:53,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:49:53,683 INFO L225 Difference]: With dead ends: 96 [2022-04-08 04:49:53,683 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 04:49:53,683 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 28.8s TimeCoverageRelationStatistics Valid=109, Invalid=702, Unknown=1, NotChecked=0, Total=812 [2022-04-08 04:49:53,684 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 18 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 486 mSolverCounterSat, 6 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 486 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:49:53,684 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 226 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 486 Invalid, 4 Unknown, 0 Unchecked, 9.5s Time] [2022-04-08 04:49:53,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 04:49:53,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-08 04:49:53,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:49:53,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:49:53,825 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:49:53,825 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:49:53,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:49:53,826 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-08 04:49:53,826 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-08 04:49:53,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:49:53,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:49:53,827 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-08 04:49:53,827 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-08 04:49:53,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:49:53,828 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-08 04:49:53,828 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-08 04:49:53,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:49:53,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:49:53,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:49:53,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:49:53,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:49:53,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-08 04:49:53,830 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-08 04:49:53,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:49:53,830 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-08 04:49:53,830 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:49:53,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-08 04:49:54,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:49:54,086 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-08 04:49:54,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:49:54,087 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:49:54,087 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:49:54,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 04:49:54,287 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:49:54,288 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:49:54,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:49:54,288 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-08 04:49:54,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:49:54,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [12358639] [2022-04-08 04:49:54,289 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:49:54,289 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-08 04:49:54,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:49:54,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [346535882] [2022-04-08 04:49:54,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:49:54,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:49:54,298 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:49:54,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [906020494] [2022-04-08 04:49:54,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:49:54,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:49:54,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:49:54,299 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:49:54,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 04:49:54,343 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:49:54,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:49:54,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 04:49:54,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:49:54,363 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:50:01,775 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:50:06,690 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-08 04:50:06,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {8233#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); {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {8233#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; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L272 TraceCheckUtils]: 6: Hoare triple {8233#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 11: Hoare triple {8233#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L272 TraceCheckUtils]: 12: Hoare triple {8233#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:06,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:06,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:06,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:06,692 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-08 04:50:06,692 INFO L290 TraceCheckUtils]: 17: Hoare triple {8233#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:50:06,692 INFO L290 TraceCheckUtils]: 18: Hoare triple {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:50:06,693 INFO L272 TraceCheckUtils]: 19: Hoare triple {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:06,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:06,693 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:06,693 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:06,693 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8233#true} {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:50:06,694 INFO L290 TraceCheckUtils]: 24: Hoare triple {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:50:06,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:06,695 INFO L290 TraceCheckUtils]: 26: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:06,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:06,695 INFO L272 TraceCheckUtils]: 28: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:06,696 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:06,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:06,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:06,697 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:06,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:06,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-08 04:50:06,698 INFO L290 TraceCheckUtils]: 35: Hoare triple {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-08 04:50:06,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:50:06,699 INFO L272 TraceCheckUtils]: 37: Hoare triple {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= 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)); {8233#true} is VALID [2022-04-08 04:50:06,699 INFO L290 TraceCheckUtils]: 38: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:06,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:06,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:06,701 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8367#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-08 04:50:06,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {8367#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {8367#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-08 04:50:06,703 INFO L290 TraceCheckUtils]: 43: Hoare triple {8367#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8374#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-08 04:50:06,704 INFO L290 TraceCheckUtils]: 44: Hoare triple {8374#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8378#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-08 04:50:06,707 INFO L290 TraceCheckUtils]: 45: Hoare triple {8378#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8382#(and (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~X~0 main_~xy~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-08 04:50:06,709 INFO L272 TraceCheckUtils]: 46: Hoare triple {8382#(and (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~X~0 main_~xy~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:06,709 INFO L290 TraceCheckUtils]: 47: Hoare triple {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:06,710 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-08 04:50:06,710 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-08 04:50:06,710 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:50:06,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:50:09,508 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-08 04:50:09,509 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-08 04:50:09,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:09,510 INFO L272 TraceCheckUtils]: 46: Hoare triple {8406#(= (+ (* 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)); {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:09,511 INFO L290 TraceCheckUtils]: 45: Hoare triple {8410#(= (+ (* 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; {8406#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:50:09,513 INFO L290 TraceCheckUtils]: 44: Hoare triple {8414#(= (+ (* (* 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; {8410#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:09,514 INFO L290 TraceCheckUtils]: 43: Hoare triple {8410#(= (+ (* 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; {8414#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:50:09,514 INFO L290 TraceCheckUtils]: 42: Hoare triple {8410#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {8410#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:09,515 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8424#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {8410#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:09,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:09,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {8434#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:09,516 INFO L290 TraceCheckUtils]: 38: Hoare triple {8233#true} ~cond := #in~cond; {8434#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:50:09,516 INFO L272 TraceCheckUtils]: 37: Hoare triple {8424#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8424#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 35: Hoare triple {8233#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {8233#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; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 33: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 30: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L272 TraceCheckUtils]: 28: Hoare triple {8233#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {8233#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {8233#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:09,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L272 TraceCheckUtils]: 19: Hoare triple {8233#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {8233#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {8233#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {8233#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {8233#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {8233#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; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-08 04:50:09,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {8233#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); {8233#true} is VALID [2022-04-08 04:50:09,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-08 04:50:09,519 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:50:09,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:50:09,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [346535882] [2022-04-08 04:50:09,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:50:09,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [906020494] [2022-04-08 04:50:09,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [906020494] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:50:09,519 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:50:09,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-08 04:50:09,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:50:09,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [12358639] [2022-04-08 04:50:09,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [12358639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:50:09,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:50:09,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:50:09,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [204169405] [2022-04-08 04:50:09,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:50:09,520 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:09,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:50:09,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:09,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:09,562 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:50:09,562 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:09,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:50:09,562 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:50:09,562 INFO L87 Difference]: Start difference. First operand 79 states and 86 transitions. Second operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:11,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:11,601 INFO L93 Difference]: Finished difference Result 97 states and 108 transitions. [2022-04-08 04:50:11,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:50:11,602 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:11,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:50:11,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:11,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-08 04:50:11,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:11,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-08 04:50:11,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-08 04:50:11,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:11,660 INFO L225 Difference]: With dead ends: 97 [2022-04-08 04:50:11,660 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 04:50:11,661 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 79 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:50:11,661 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:50:11,661 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 04:50:11,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 04:50:11,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 91. [2022-04-08 04:50:11,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:50:11,814 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:50:11,814 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:50:11,814 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:50:11,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:11,816 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-08 04:50:11,816 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-08 04:50:11,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:11,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:11,816 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 95 states. [2022-04-08 04:50:11,816 INFO L87 Difference]: Start difference. First operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 95 states. [2022-04-08 04:50:11,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:11,818 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-08 04:50:11,818 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-08 04:50:11,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:11,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:11,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:50:11,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:50:11,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:50:11,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 100 transitions. [2022-04-08 04:50:11,819 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 100 transitions. Word has length 50 [2022-04-08 04:50:11,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:50:11,820 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 100 transitions. [2022-04-08 04:50:11,820 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:11,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 100 transitions. [2022-04-08 04:50:12,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:12,070 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 100 transitions. [2022-04-08 04:50:12,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:50:12,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:50:12,071 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:50:12,087 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 04:50:12,271 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 04:50:12,271 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:50:12,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:50:12,272 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-08 04:50:12,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:12,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1096818485] [2022-04-08 04:50:12,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:50:12,272 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-08 04:50:12,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:50:12,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101046278] [2022-04-08 04:50:12,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:50:12,272 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:50:12,282 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:50:12,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1658966302] [2022-04-08 04:50:12,282 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:50:12,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:50:12,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:50:12,283 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:50:12,284 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 04:50:12,318 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:50:12,318 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:50:12,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 04:50:12,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:50:12,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:50:12,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-08 04:50:12,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {9125#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); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {9125#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; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {9125#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {9125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L272 TraceCheckUtils]: 12: Hoare triple {9125#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-08 04:50:12,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {9125#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:12,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:12,656 INFO L272 TraceCheckUtils]: 19: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,657 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9125#true} {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:12,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:12,658 INFO L290 TraceCheckUtils]: 25: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:12,658 INFO L290 TraceCheckUtils]: 26: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:12,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:12,659 INFO L272 TraceCheckUtils]: 28: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,659 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,659 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9125#true} {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:12,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:50:12,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:50:12,660 INFO L290 TraceCheckUtils]: 35: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:50:12,661 INFO L290 TraceCheckUtils]: 36: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:50:12,661 INFO L272 TraceCheckUtils]: 37: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,661 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,661 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9125#true} {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:50:12,662 INFO L290 TraceCheckUtils]: 42: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-08 04:50:12,662 INFO L290 TraceCheckUtils]: 43: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9126#false} is VALID [2022-04-08 04:50:12,662 INFO L290 TraceCheckUtils]: 44: Hoare triple {9126#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L290 TraceCheckUtils]: 45: Hoare triple {9126#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L272 TraceCheckUtils]: 46: Hoare triple {9126#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-08 04:50:12,663 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:50:12,663 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:50:12,865 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-08 04:50:12,865 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-08 04:50:12,865 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-08 04:50:12,865 INFO L272 TraceCheckUtils]: 46: Hoare triple {9126#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9126#false} is VALID [2022-04-08 04:50:12,865 INFO L290 TraceCheckUtils]: 45: Hoare triple {9126#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9126#false} is VALID [2022-04-08 04:50:12,865 INFO L290 TraceCheckUtils]: 44: Hoare triple {9126#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9126#false} is VALID [2022-04-08 04:50:12,866 INFO L290 TraceCheckUtils]: 43: Hoare triple {9298#(< main_~v~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9126#false} is VALID [2022-04-08 04:50:12,870 INFO L290 TraceCheckUtils]: 42: Hoare triple {9298#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9298#(< main_~v~0 0)} is VALID [2022-04-08 04:50:12,870 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9125#true} {9298#(< main_~v~0 0)} #65#return; {9298#(< main_~v~0 0)} is VALID [2022-04-08 04:50:12,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,870 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,870 INFO L272 TraceCheckUtils]: 37: Hoare triple {9298#(< main_~v~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,871 INFO L290 TraceCheckUtils]: 36: Hoare triple {9298#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9298#(< main_~v~0 0)} is VALID [2022-04-08 04:50:12,871 INFO L290 TraceCheckUtils]: 35: Hoare triple {9298#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9298#(< main_~v~0 0)} is VALID [2022-04-08 04:50:12,872 INFO L290 TraceCheckUtils]: 34: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9298#(< main_~v~0 0)} is VALID [2022-04-08 04:50:12,872 INFO L290 TraceCheckUtils]: 33: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:50:12,872 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9125#true} {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:50:12,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,873 INFO L272 TraceCheckUtils]: 28: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:50:12,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:50:12,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-08 04:50:12,874 INFO L290 TraceCheckUtils]: 24: Hoare triple {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:50:12,875 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9125#true} {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:50:12,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,875 INFO L272 TraceCheckUtils]: 19: Hoare triple {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {9125#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:50:12,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L272 TraceCheckUtils]: 12: Hoare triple {9125#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {9125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {9125#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {9125#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; {9125#true} is VALID [2022-04-08 04:50:12,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-08 04:50:12,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-08 04:50:12,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-08 04:50:12,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {9125#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); {9125#true} is VALID [2022-04-08 04:50:12,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-08 04:50:12,877 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:50:12,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:50:12,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101046278] [2022-04-08 04:50:12,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:50:12,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1658966302] [2022-04-08 04:50:12,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1658966302] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:50:12,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:50:12,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 04:50:12,877 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:50:12,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1096818485] [2022-04-08 04:50:12,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1096818485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:50:12,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:50:12,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:50:12,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [428920395] [2022-04-08 04:50:12,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:50:12,878 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:12,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:50:12,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:12,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:12,907 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:50:12,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:12,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:50:12,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:50:12,907 INFO L87 Difference]: Start difference. First operand 91 states and 100 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:13,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:13,386 INFO L93 Difference]: Finished difference Result 126 states and 145 transitions. [2022-04-08 04:50:13,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:50:13,386 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:13,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:50:13,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:13,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-08 04:50:13,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:13,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-08 04:50:13,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-08 04:50:13,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:13,445 INFO L225 Difference]: With dead ends: 126 [2022-04-08 04:50:13,445 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 04:50:13,446 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:50:13,446 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:50:13,446 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:50:13,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 04:50:13,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-08 04:50:13,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:50:13,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:50:13,726 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:50:13,726 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:50:13,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:13,728 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-08 04:50:13,728 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-08 04:50:13,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:13,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:13,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 113 states. [2022-04-08 04:50:13,729 INFO L87 Difference]: Start difference. First operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 113 states. [2022-04-08 04:50:13,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:13,731 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-08 04:50:13,731 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-08 04:50:13,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:13,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:13,731 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:50:13,731 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:50:13,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:50:13,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 124 transitions. [2022-04-08 04:50:13,733 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 124 transitions. Word has length 50 [2022-04-08 04:50:13,733 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:50:13,733 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 124 transitions. [2022-04-08 04:50:13,733 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:13,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 124 transitions. [2022-04-08 04:50:14,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:14,119 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-04-08 04:50:14,119 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:50:14,119 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:50:14,119 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:50:14,135 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-08 04:50:14,319 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:50:14,320 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:50:14,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:50:14,320 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-08 04:50:14,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:14,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1137557066] [2022-04-08 04:50:14,320 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:50:14,320 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-08 04:50:14,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:50:14,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1385968667] [2022-04-08 04:50:14,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:50:14,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:50:14,328 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:50:14,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1505051160] [2022-04-08 04:50:14,329 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:50:14,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:50:14,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:50:14,329 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:50:14,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 04:50:14,372 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:50:14,372 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:50:14,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 04:50:14,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:50:14,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:50:36,532 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:50:41,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {10130#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); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {10130#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; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L272 TraceCheckUtils]: 6: Hoare triple {10130#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {10130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L272 TraceCheckUtils]: 12: Hoare triple {10130#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:41,711 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-08 04:50:41,712 INFO L290 TraceCheckUtils]: 17: Hoare triple {10130#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:50:41,712 INFO L290 TraceCheckUtils]: 18: Hoare triple {10186#(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; {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:50:41,712 INFO L272 TraceCheckUtils]: 19: Hoare triple {10186#(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)); {10130#true} is VALID [2022-04-08 04:50:41,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:41,712 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:41,712 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:41,713 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10130#true} {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:50:41,713 INFO L290 TraceCheckUtils]: 24: Hoare triple {10186#(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); {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:50:41,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {10186#(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; {10211#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:50:41,715 INFO L290 TraceCheckUtils]: 26: Hoare triple {10211#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:50:41,715 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:50:41,715 INFO L272 TraceCheckUtils]: 28: Hoare triple {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:41,716 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:41,716 INFO L290 TraceCheckUtils]: 30: Hoare triple {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:41,716 INFO L290 TraceCheckUtils]: 31: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:41,717 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:50:41,717 INFO L290 TraceCheckUtils]: 33: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:50:41,718 INFO L290 TraceCheckUtils]: 34: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10243#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1))} is VALID [2022-04-08 04:50:41,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {10243#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10247#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (<= main_~x~0 2))} is VALID [2022-04-08 04:50:41,719 INFO L290 TraceCheckUtils]: 36: Hoare triple {10247#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-08 04:50:41,719 INFO L272 TraceCheckUtils]: 37: Hoare triple {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:41,720 INFO L290 TraceCheckUtils]: 38: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:41,720 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:41,720 INFO L290 TraceCheckUtils]: 40: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:41,722 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 2))} #65#return; {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= 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_~Y~0 2)))} is VALID [2022-04-08 04:50:41,722 INFO L290 TraceCheckUtils]: 42: Hoare triple {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= 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_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= 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_~Y~0 2)))} is VALID [2022-04-08 04:50:41,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= 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_~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; {10274#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-08 04:50:41,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {10274#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10278#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (+ (* (* 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))) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-08 04:50:41,727 INFO L290 TraceCheckUtils]: 45: Hoare triple {10278#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (+ (* (* 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))) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10282#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~v~0) (* main_~X~0 (- 5))) (- 2))) main_~Y~0) main_~Y~0) main_~yx~0) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-08 04:50:41,729 INFO L272 TraceCheckUtils]: 46: Hoare triple {10282#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~v~0) (* main_~X~0 (- 5))) (- 2))) main_~Y~0) main_~Y~0) main_~yx~0) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:41,729 INFO L290 TraceCheckUtils]: 47: Hoare triple {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:41,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-08 04:50:41,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-08 04:50:41,730 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:50:41,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:50:44,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-08 04:50:44,373 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-08 04:50:44,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:50:44,374 INFO L272 TraceCheckUtils]: 46: Hoare triple {10306#(= (+ (* 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)); {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:50:44,375 INFO L290 TraceCheckUtils]: 45: Hoare triple {10310#(= (+ (* 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; {10306#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:50:44,377 INFO L290 TraceCheckUtils]: 44: Hoare triple {10314#(= (+ (* (* 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; {10310#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:50:44,378 INFO L290 TraceCheckUtils]: 43: Hoare triple {10318#(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; {10314#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:50:44,379 INFO L290 TraceCheckUtils]: 42: Hoare triple {10318#(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 !!(~x~0 <= ~X~0); {10318#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:50:44,379 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10325#(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)))))} #65#return; {10318#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:50:44,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:44,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {10335#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:50:44,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {10130#true} ~cond := #in~cond; {10335#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:50:44,380 INFO L272 TraceCheckUtils]: 37: Hoare triple {10325#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 36: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10325#(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)))))} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {10130#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 34: Hoare triple {10130#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 33: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 31: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:44,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L272 TraceCheckUtils]: 28: Hoare triple {10130#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {10130#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 25: Hoare triple {10130#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; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 24: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L272 TraceCheckUtils]: 19: Hoare triple {10130#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {10130#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L272 TraceCheckUtils]: 12: Hoare triple {10130#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {10130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-08 04:50:44,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {10130#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {10130#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; {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {10130#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); {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-08 04:50:44,383 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:50:44,383 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:50:44,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1385968667] [2022-04-08 04:50:44,383 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:50:44,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1505051160] [2022-04-08 04:50:44,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1505051160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:50:44,384 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:50:44,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-08 04:50:44,384 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:50:44,384 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1137557066] [2022-04-08 04:50:44,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1137557066] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:50:44,384 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:50:44,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 04:50:44,384 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2103013073] [2022-04-08 04:50:44,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:50:44,384 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:44,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:50:44,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:44,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:44,426 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 04:50:44,426 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:44,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 04:50:44,426 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=431, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:50:44,427 INFO L87 Difference]: Start difference. First operand 109 states and 124 transitions. Second operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:46,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:46,675 INFO L93 Difference]: Finished difference Result 122 states and 139 transitions. [2022-04-08 04:50:46,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 04:50:46,675 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:50:46,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:50:46,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:46,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-08 04:50:46,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:46,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-08 04:50:46,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 64 transitions. [2022-04-08 04:50:46,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:46,773 INFO L225 Difference]: With dead ends: 122 [2022-04-08 04:50:46,773 INFO L226 Difference]: Without dead ends: 120 [2022-04-08 04:50:46,773 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 76 SyntacticMatches, 2 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=112, Invalid=644, Unknown=0, NotChecked=0, Total=756 [2022-04-08 04:50:46,774 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 477 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 486 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 477 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 04:50:46,774 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 219 Invalid, 486 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 477 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 04:50:46,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-08 04:50:47,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 116. [2022-04-08 04:50:47,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:50:47,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:47,099 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:47,099 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:47,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:47,101 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-08 04:50:47,101 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-08 04:50:47,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:47,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:47,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 120 states. [2022-04-08 04:50:47,102 INFO L87 Difference]: Start difference. First operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 120 states. [2022-04-08 04:50:47,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:50:47,103 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-08 04:50:47,103 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-08 04:50:47,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:50:47,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:50:47,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:50:47,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:50:47,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:50:47,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 131 transitions. [2022-04-08 04:50:47,106 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 131 transitions. Word has length 50 [2022-04-08 04:50:47,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:50:47,106 INFO L478 AbstractCegarLoop]: Abstraction has 116 states and 131 transitions. [2022-04-08 04:50:47,106 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:50:47,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 131 transitions. [2022-04-08 04:50:47,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:50:47,513 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 131 transitions. [2022-04-08 04:50:47,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:50:47,513 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:50:47,513 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:50:47,529 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 04:50:47,719 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 04:50:47,720 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:50:47,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:50:47,720 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-08 04:50:47,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:50:47,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [557717642] [2022-04-08 04:50:47,720 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:50:47,720 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-08 04:50:47,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:50:47,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1294967864] [2022-04-08 04:50:47,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:50:47,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:50:47,729 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:50:47,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [607625093] [2022-04-08 04:50:47,730 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:50:47,730 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:50:47,730 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:50:47,731 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:50:47,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 04:50:47,773 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:50:47,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:50:47,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 04:50:47,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:50:47,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:51:01,905 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:51:04,785 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:51:06,979 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:52:20,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {11178#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); {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {11178#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; {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L272 TraceCheckUtils]: 6: Hoare triple {11178#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:20,379 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {11178#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L272 TraceCheckUtils]: 12: Hoare triple {11178#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-08 04:52:20,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {11178#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:20,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {11234#(and (= main_~x~0 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; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:20,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {11234#(and (= main_~x~0 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)); {11178#true} is VALID [2022-04-08 04:52:20,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:20,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:20,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:20,381 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11178#true} {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:20,382 INFO L290 TraceCheckUtils]: 24: Hoare triple {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-08 04:52:20,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {11234#(and (= main_~x~0 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; {11259#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:52:20,383 INFO L290 TraceCheckUtils]: 26: Hoare triple {11259#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11263#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:52:20,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {11263#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:52:20,384 INFO L272 TraceCheckUtils]: 28: Hoare triple {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:20,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:20,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:20,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:20,386 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #65#return; {11285#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:52:20,387 INFO L290 TraceCheckUtils]: 33: Hoare triple {11285#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:52:20,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {11289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11293#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-08 04:52:20,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11297#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 1 main_~X~0))} is VALID [2022-04-08 04:52:20,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {11297#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} is VALID [2022-04-08 04:52:20,390 INFO L272 TraceCheckUtils]: 37: Hoare triple {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:20,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:20,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:20,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:20,392 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} #65#return; {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-08 04:52:20,393 INFO L290 TraceCheckUtils]: 42: Hoare triple {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume !!(~x~0 <= ~X~0); {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-08 04:52:20,393 INFO L290 TraceCheckUtils]: 43: Hoare triple {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11324#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} is VALID [2022-04-08 04:52:20,395 INFO L290 TraceCheckUtils]: 44: Hoare triple {11324#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11328#(and (= (+ (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} is VALID [2022-04-08 04:52:20,399 INFO L290 TraceCheckUtils]: 45: Hoare triple {11328#(and (= (+ (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11332#(and (= (mod (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) (* main_~Y~0 6)) (+ (* main_~X~0 4) (* (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) 2))) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (<= main_~X~0 (* main_~Y~0 2)) (= (mod (+ main_~X~0 main_~v~0 (* (div (* main_~X~0 2) main_~X~0) main_~X~0 2)) 2) 0) (<= 1 main_~X~0) (= (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0))} is VALID [2022-04-08 04:52:20,400 INFO L272 TraceCheckUtils]: 46: Hoare triple {11332#(and (= (mod (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) (* main_~Y~0 6)) (+ (* main_~X~0 4) (* (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) 2))) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (<= main_~X~0 (* main_~Y~0 2)) (= (mod (+ main_~X~0 main_~v~0 (* (div (* main_~X~0 2) main_~X~0) main_~X~0 2)) 2) 0) (<= 1 main_~X~0) (= (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:52:20,401 INFO L290 TraceCheckUtils]: 47: Hoare triple {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11340#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:20,401 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-08 04:52:20,401 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-08 04:52:20,401 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:52:20,402 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:52:27,034 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-08 04:52:27,035 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-08 04:52:27,035 INFO L290 TraceCheckUtils]: 47: Hoare triple {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11340#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:52:27,036 INFO L272 TraceCheckUtils]: 46: Hoare triple {11356#(= (+ (* 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)); {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:52:27,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {11360#(= (+ (* 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; {11356#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:52:27,040 INFO L290 TraceCheckUtils]: 44: Hoare triple {11364#(= (+ (* (* 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; {11360#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:52:27,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {11360#(= (+ (* 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; {11364#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:52:27,041 INFO L290 TraceCheckUtils]: 42: Hoare triple {11360#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {11360#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:52:27,042 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11374#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {11360#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:52:27,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:27,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {11384#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:52:27,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {11178#true} ~cond := #in~cond; {11384#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:52:27,043 INFO L272 TraceCheckUtils]: 37: Hoare triple {11374#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:27,044 INFO L290 TraceCheckUtils]: 36: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11374#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:52:27,044 INFO L290 TraceCheckUtils]: 35: Hoare triple {11178#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11178#true} is VALID [2022-04-08 04:52:27,044 INFO L290 TraceCheckUtils]: 34: Hoare triple {11178#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; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L272 TraceCheckUtils]: 28: Hoare triple {11178#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {11178#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {11178#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; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:27,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L272 TraceCheckUtils]: 19: Hoare triple {11178#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {11178#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L272 TraceCheckUtils]: 12: Hoare triple {11178#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 11: Hoare triple {11178#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:27,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L272 TraceCheckUtils]: 6: Hoare triple {11178#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {11178#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; {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {11178#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); {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-08 04:52:27,047 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:52:27,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:52:27,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1294967864] [2022-04-08 04:52:27,048 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:52:27,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [607625093] [2022-04-08 04:52:27,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [607625093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:52:27,048 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:52:27,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-08 04:52:27,048 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:52:27,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [557717642] [2022-04-08 04:52:27,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [557717642] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:52:27,048 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:52:27,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 04:52:27,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1234211163] [2022-04-08 04:52:27,049 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:52:27,049 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:52:27,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:52:27,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:52:27,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:27,098 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 04:52:27,099 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:52:27,099 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 04:52:27,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=483, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:52:27,099 INFO L87 Difference]: Start difference. First operand 116 states and 131 transitions. Second operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:52:32,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:32,541 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-08 04:52:32,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:52:32,541 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:52:32,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:52:32,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:52:32,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-08 04:52:32,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:52:32,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-08 04:52:32,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-08 04:52:32,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:32,627 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:52:32,627 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 04:52:32,628 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 137 ImplicationChecksByTransitivity, 3.9s TimeCoverageRelationStatistics Valid=115, Invalid=755, Unknown=0, NotChecked=0, Total=870 [2022-04-08 04:52:32,628 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 617 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 625 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 617 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:52:32,628 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 261 Invalid, 625 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 617 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-08 04:52:32,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 04:52:32,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-08 04:52:32,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:52:32,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:52:32,974 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:52:32,975 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:52:32,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:32,976 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:52:32,976 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:52:32,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:52:32,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:52:32,977 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:52:32,977 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:52:32,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:52:32,979 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:52:32,979 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:52:32,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:52:32,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:52:32,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:52:32,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:52:32,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:52:32,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:52:32,981 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-08 04:52:32,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:52:32,981 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:52:32,981 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:52:32,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:52:33,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:52:33,420 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:52:33,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:52:33,420 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:52:33,420 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:52:33,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 04:52:33,622 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 04:52:33,623 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:52:33,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:52:33,623 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-08 04:52:33,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:52:33,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1354030885] [2022-04-08 04:52:33,623 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:52:33,623 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-08 04:52:33,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:52:33,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386840015] [2022-04-08 04:52:33,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:52:33,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:52:33,631 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:52:33,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1202701779] [2022-04-08 04:52:33,632 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:52:33,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:52:33,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:52:33,632 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:52:33,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 04:52:33,685 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:52:33,685 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:52:33,686 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 04:52:33,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:52:33,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:52:50,812 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:52:58,034 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:03,077 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:06,195 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:09,274 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:14,023 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:53:18,654 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:58:04,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {12287#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); {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {12287#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; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {12287#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {12287#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12287#true} is VALID [2022-04-08 04:58:04,817 INFO L272 TraceCheckUtils]: 12: Hoare triple {12287#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:04,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:04,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:04,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:04,818 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-08 04:58:04,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12343#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:04,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {12343#(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; {12343#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:04,819 INFO L272 TraceCheckUtils]: 19: Hoare triple {12343#(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)); {12287#true} is VALID [2022-04-08 04:58:04,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:04,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:04,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:04,819 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12287#true} {12343#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12343#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:04,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {12343#(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); {12365#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:04,820 INFO L290 TraceCheckUtils]: 25: Hoare triple {12365#(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; {12369#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-08 04:58:04,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {12369#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12373#(and (<= 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))) (<= main_~y~0 1))} is VALID [2022-04-08 04:58:04,821 INFO L290 TraceCheckUtils]: 27: Hoare triple {12373#(and (<= 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))) (<= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12373#(and (<= 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))) (<= main_~y~0 1))} is VALID [2022-04-08 04:58:04,822 INFO L272 TraceCheckUtils]: 28: Hoare triple {12373#(and (<= 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))) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:04,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:04,822 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:04,822 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:04,822 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12287#true} {12373#(and (<= 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))) (<= main_~y~0 1))} #65#return; {12373#(and (<= 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))) (<= main_~y~0 1))} is VALID [2022-04-08 04:58:04,823 INFO L290 TraceCheckUtils]: 33: Hoare triple {12373#(and (<= 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))) (<= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {12373#(and (<= 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))) (<= main_~y~0 1))} is VALID [2022-04-08 04:58:04,824 INFO L290 TraceCheckUtils]: 34: Hoare triple {12373#(and (<= 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))) (<= main_~y~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12398#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 1 main_~x~0) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:04,824 INFO L290 TraceCheckUtils]: 35: Hoare triple {12398#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 1 main_~x~0) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12402#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:04,825 INFO L290 TraceCheckUtils]: 36: Hoare triple {12402#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 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)))} is VALID [2022-04-08 04:58:04,825 INFO L272 TraceCheckUtils]: 37: Hoare triple {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 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)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:04,825 INFO L290 TraceCheckUtils]: 38: Hoare triple {12287#true} ~cond := #in~cond; {12413#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:58:04,825 INFO L290 TraceCheckUtils]: 39: Hoare triple {12413#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:04,825 INFO L290 TraceCheckUtils]: 40: Hoare triple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:04,827 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 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)))} #65#return; {12424#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~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)) (<= 2 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:04,827 INFO L290 TraceCheckUtils]: 42: Hoare triple {12424#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~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)) (<= 2 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {12428#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 2) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-08 04:58:04,830 INFO L290 TraceCheckUtils]: 43: Hoare triple {12428#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 2) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12432#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 3) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (* main_~Y~0 6)))} is VALID [2022-04-08 04:58:04,831 INFO L290 TraceCheckUtils]: 44: Hoare triple {12432#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 3) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12436#(and (<= main_~y~0 3) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:58:04,837 INFO L290 TraceCheckUtils]: 45: Hoare triple {12436#(and (<= main_~y~0 3) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= 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; {12440#(and (<= 3 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (* main_~Y~0 6)) (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= (div main_~xy~0 main_~X~0) 3) (<= (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) (+ main_~X~0 1)) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))} is VALID [2022-04-08 04:58:04,839 INFO L272 TraceCheckUtils]: 46: Hoare triple {12440#(and (<= 3 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (* main_~Y~0 6)) (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= (div main_~xy~0 main_~X~0) 3) (<= (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) (+ main_~X~0 1)) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:58:04,840 INFO L290 TraceCheckUtils]: 47: Hoare triple {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:58:04,840 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-08 04:58:04,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-08 04:58:04,840 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:58:04,840 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:58:10,053 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-08 04:58:10,054 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-08 04:58:10,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:58:10,055 INFO L272 TraceCheckUtils]: 46: Hoare triple {12464#(= (+ (* 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)); {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:58:10,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {12468#(= (+ (* 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; {12464#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:58:10,058 INFO L290 TraceCheckUtils]: 44: Hoare triple {12472#(= (+ (* (* 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; {12468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:58:10,060 INFO L290 TraceCheckUtils]: 43: Hoare triple {12468#(= (+ (* 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; {12472#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:58:10,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {12479#(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); {12468#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:58:10,062 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} {12483#(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; {12479#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:58:10,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:10,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {12493#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:10,063 INFO L290 TraceCheckUtils]: 38: Hoare triple {12287#true} ~cond := #in~cond; {12493#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:58:10,063 INFO L272 TraceCheckUtils]: 37: Hoare triple {12483#(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)); {12287#true} is VALID [2022-04-08 04:58:10,064 INFO L290 TraceCheckUtils]: 36: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12483#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:58:10,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {12287#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12287#true} is VALID [2022-04-08 04:58:10,064 INFO L290 TraceCheckUtils]: 34: Hoare triple {12287#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; {12287#true} is VALID [2022-04-08 04:58:10,064 INFO L290 TraceCheckUtils]: 33: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-08 04:58:10,064 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-08 04:58:10,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L272 TraceCheckUtils]: 28: Hoare triple {12287#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 27: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 26: Hoare triple {12287#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {12287#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; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 24: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L272 TraceCheckUtils]: 19: Hoare triple {12287#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 18: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12287#true} is VALID [2022-04-08 04:58:10,065 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L272 TraceCheckUtils]: 12: Hoare triple {12287#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {12287#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L272 TraceCheckUtils]: 6: Hoare triple {12287#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {12287#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; {12287#true} is VALID [2022-04-08 04:58:10,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-08 04:58:10,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-08 04:58:10,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-08 04:58:10,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {12287#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); {12287#true} is VALID [2022-04-08 04:58:10,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-08 04:58:10,067 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-08 04:58:10,067 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:58:10,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386840015] [2022-04-08 04:58:10,067 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:58:10,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1202701779] [2022-04-08 04:58:10,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1202701779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:58:10,068 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:58:10,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-08 04:58:10,068 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:58:10,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1354030885] [2022-04-08 04:58:10,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1354030885] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:58:10,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:58:10,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 04:58:10,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [356999328] [2022-04-08 04:58:10,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:58:10,069 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:58:10,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:58:10,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:58:10,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:10,137 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 04:58:10,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:58:10,137 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 04:58:10,137 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=473, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:58:10,138 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:58:17,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:17,637 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-08 04:58:17,637 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:58:17,637 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-08 04:58:17,637 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:58:17,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:58:17,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-08 04:58:17,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:58:17,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-08 04:58:17,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-08 04:58:17,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:17,729 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:58:17,729 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 04:58:17,730 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 138 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=122, Invalid=690, Unknown=0, NotChecked=0, Total=812 [2022-04-08 04:58:17,730 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 503 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 508 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 503 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:58:17,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 214 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 503 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-08 04:58:17,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 04:58:18,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-08 04:58:18,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:58:18,047 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:18,047 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:18,047 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:18,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:18,049 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:58:18,049 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:58:18,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:58:18,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:58:18,049 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:58:18,049 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-08 04:58:18,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:18,051 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-08 04:58:18,051 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-08 04:58:18,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:58:18,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:58:18,051 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:58:18,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:58:18,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:18,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:58:18,053 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-08 04:58:18,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:58:18,053 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:58:18,053 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.875) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:58:18,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:58:18,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:18,603 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:58:18,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:58:18,603 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:58:18,603 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:58:18,619 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 04:58:18,804 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 04:58:18,804 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:58:18,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:58:18,804 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-08 04:58:18,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:58:18,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1960459695] [2022-04-08 04:58:18,805 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:58:18,805 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-08 04:58:18,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:58:18,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1253355579] [2022-04-08 04:58:18,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:58:18,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:58:18,824 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:58:18,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1107858826] [2022-04-08 04:58:18,824 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:58:18,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:58:18,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:58:18,825 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:58:18,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 04:58:18,861 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:58:18,861 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:58:18,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 04:58:18,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:58:18,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:58:19,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {13394#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); {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {13394#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; {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {13394#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {13394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L272 TraceCheckUtils]: 12: Hoare triple {13394#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-08 04:58:19,971 INFO L290 TraceCheckUtils]: 17: Hoare triple {13394#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:58:19,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:58:19,972 INFO L272 TraceCheckUtils]: 19: Hoare triple {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:19,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,972 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13394#true} {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:58:19,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:58:19,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13475#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 0))} is VALID [2022-04-08 04:58:19,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {13475#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-08 04:58:19,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-08 04:58:19,976 INFO L272 TraceCheckUtils]: 28: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= 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)); {13394#true} is VALID [2022-04-08 04:58:19,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,976 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13394#true} {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} #65#return; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-08 04:58:19,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-08 04:58:19,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= 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; {13504#(and (<= main_~x~0 1) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-08 04:58:19,978 INFO L290 TraceCheckUtils]: 35: Hoare triple {13504#(and (<= main_~x~0 1) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:58:19,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:58:19,979 INFO L272 TraceCheckUtils]: 37: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 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)); {13394#true} is VALID [2022-04-08 04:58:19,979 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,979 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,979 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,979 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13394#true} {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} #65#return; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:58:19,980 INFO L290 TraceCheckUtils]: 42: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:58:19,980 INFO L290 TraceCheckUtils]: 43: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-08 04:58:19,981 INFO L290 TraceCheckUtils]: 44: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-08 04:58:19,981 INFO L290 TraceCheckUtils]: 45: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-08 04:58:19,981 INFO L272 TraceCheckUtils]: 46: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:19,981 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:19,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:19,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:19,983 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13394#true} {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} #65#return; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-08 04:58:19,983 INFO L290 TraceCheckUtils]: 51: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} assume !(~x~0 <= ~X~0); {13395#false} is VALID [2022-04-08 04:58:19,983 INFO L290 TraceCheckUtils]: 52: Hoare triple {13395#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13395#false} is VALID [2022-04-08 04:58:19,983 INFO L272 TraceCheckUtils]: 53: Hoare triple {13395#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13395#false} is VALID [2022-04-08 04:58:19,983 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-08 04:58:19,983 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-08 04:58:19,983 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-08 04:58:19,984 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 04:58:19,984 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:58:20,338 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-08 04:58:20,339 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-08 04:58:20,339 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-08 04:58:20,339 INFO L272 TraceCheckUtils]: 53: Hoare triple {13395#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13395#false} is VALID [2022-04-08 04:58:20,339 INFO L290 TraceCheckUtils]: 52: Hoare triple {13395#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13395#false} is VALID [2022-04-08 04:58:20,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {13588#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13395#false} is VALID [2022-04-08 04:58:20,340 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13394#true} {13588#(<= main_~x~0 main_~X~0)} #65#return; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:58:20,340 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,340 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,340 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,340 INFO L272 TraceCheckUtils]: 46: Hoare triple {13588#(<= 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)); {13394#true} is VALID [2022-04-08 04:58:20,340 INFO L290 TraceCheckUtils]: 45: Hoare triple {13588#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:58:20,341 INFO L290 TraceCheckUtils]: 44: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:58:20,342 INFO L290 TraceCheckUtils]: 43: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:58:20,342 INFO L290 TraceCheckUtils]: 42: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:58:20,342 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13394#true} {13610#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:58:20,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,343 INFO L272 TraceCheckUtils]: 37: Hoare triple {13610#(<= (+ 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)); {13394#true} is VALID [2022-04-08 04:58:20,343 INFO L290 TraceCheckUtils]: 36: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:58:20,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {13638#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:58:20,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13638#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-08 04:58:20,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:58:20,345 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13394#true} {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:58:20,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,345 INFO L272 TraceCheckUtils]: 28: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:20,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:58:20,346 INFO L290 TraceCheckUtils]: 26: Hoare triple {13667#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:58:20,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13667#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:58:20,347 INFO L290 TraceCheckUtils]: 24: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:58:20,348 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13394#true} {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:58:20,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,348 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,348 INFO L272 TraceCheckUtils]: 19: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:20,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:58:20,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {13394#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:58:20,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-08 04:58:20,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L272 TraceCheckUtils]: 12: Hoare triple {13394#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {13394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L272 TraceCheckUtils]: 6: Hoare triple {13394#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {13394#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; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {13394#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); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-08 04:58:20,350 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 04:58:20,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:58:20,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1253355579] [2022-04-08 04:58:20,351 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:58:20,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1107858826] [2022-04-08 04:58:20,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1107858826] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:58:20,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:58:20,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 04:58:20,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:58:20,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1960459695] [2022-04-08 04:58:20,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1960459695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:58:20,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:58:20,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:58:20,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [382348136] [2022-04-08 04:58:20,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:58:20,352 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-08 04:58:20,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:58:20,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:58:20,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:20,387 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:58:20,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:58:20,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:58:20,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:58:20,388 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:58:21,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:21,060 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-04-08 04:58:21,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:58:21,061 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-08 04:58:21,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:58:21,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:58:21,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 04:58:21,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:58:21,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 04:58:21,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 04:58:21,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:21,120 INFO L225 Difference]: With dead ends: 133 [2022-04-08 04:58:21,120 INFO L226 Difference]: Without dead ends: 125 [2022-04-08 04:58:21,120 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:58:21,121 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:58:21,121 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 104 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:58:21,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-08 04:58:21,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 121. [2022-04-08 04:58:21,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:58:21,438 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:21,438 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:21,438 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:21,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:21,440 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-08 04:58:21,440 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-08 04:58:21,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:58:21,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:58:21,440 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-08 04:58:21,440 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-08 04:58:21,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:58:21,442 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-08 04:58:21,442 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-08 04:58:21,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:58:21,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:58:21,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:58:21,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:58:21,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 04:58:21,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 04:58:21,444 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 57 [2022-04-08 04:58:21,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:58:21,444 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 04:58:21,444 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-08 04:58:21,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 04:58:21,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:58:21,990 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 04:58:21,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:58:21,991 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:58:21,991 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:58:22,007 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 04:58:22,204 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:58:22,204 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:58:22,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:58:22,204 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-08 04:58:22,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:58:22,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1066603069] [2022-04-08 04:58:22,205 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:58:22,205 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-08 04:58:22,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:58:22,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1302341530] [2022-04-08 04:58:22,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:58:22,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:58:22,213 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:58:22,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1456121600] [2022-04-08 04:58:22,213 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:58:22,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:58:22,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:58:22,214 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:58:22,215 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 04:58:22,259 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:58:22,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:58:22,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:58:22,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:58:22,277 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:58:36,772 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:58:41,841 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:58:45,064 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:58:55,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {14507#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); {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {14507#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; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {14507#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-08 04:58:55,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {14507#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L272 TraceCheckUtils]: 12: Hoare triple {14507#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-08 04:58:55,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {14507#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:55,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:55,196 INFO L272 TraceCheckUtils]: 19: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:58:55,197 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:58:55,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,197 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14507#true} {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:55,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {14585#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:58:55,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {14585#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,199 INFO L290 TraceCheckUtils]: 26: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,199 INFO L272 TraceCheckUtils]: 28: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:58:55,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:58:55,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,200 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14507#true} {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,201 INFO L290 TraceCheckUtils]: 36: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,201 INFO L272 TraceCheckUtils]: 37: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,201 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:58:55,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:58:55,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:58:55,202 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14507#true} {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,202 INFO L290 TraceCheckUtils]: 42: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14641#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,203 INFO L290 TraceCheckUtils]: 43: Hoare triple {14641#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14645#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:58:55,204 INFO L290 TraceCheckUtils]: 44: Hoare triple {14645#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14649#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:58:55,204 INFO L290 TraceCheckUtils]: 45: Hoare triple {14649#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:58:55,204 INFO L272 TraceCheckUtils]: 46: Hoare triple {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:58:55,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {14507#true} ~cond := #in~cond; {14660#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:58:55,205 INFO L290 TraceCheckUtils]: 48: Hoare triple {14660#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:55,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:58:55,206 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {14671#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:58:55,207 INFO L290 TraceCheckUtils]: 51: Hoare triple {14671#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14675#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:58:57,209 WARN L290 TraceCheckUtils]: 52: Hoare triple {14675#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14679#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-08 04:58:57,212 INFO L272 TraceCheckUtils]: 53: Hoare triple {14679#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:58:57,213 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:58:57,213 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-08 04:58:57,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-08 04:58:57,213 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-08 04:58:57,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:59:07,808 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-08 04:59:07,809 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-08 04:59:07,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:59:07,810 INFO L272 TraceCheckUtils]: 53: Hoare triple {14703#(= (+ (* 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)); {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:59:07,811 INFO L290 TraceCheckUtils]: 52: Hoare triple {14707#(= (+ (* 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; {14703#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:59:07,812 INFO L290 TraceCheckUtils]: 51: Hoare triple {14711#(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); {14707#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:59:07,813 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} {14715#(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; {14711#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:59:07,813 INFO L290 TraceCheckUtils]: 49: Hoare triple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:59:07,813 INFO L290 TraceCheckUtils]: 48: Hoare triple {14725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:59:07,814 INFO L290 TraceCheckUtils]: 47: Hoare triple {14507#true} ~cond := #in~cond; {14725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:59:07,814 INFO L272 TraceCheckUtils]: 46: Hoare triple {14715#(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)); {14507#true} is VALID [2022-04-08 04:59:07,815 INFO L290 TraceCheckUtils]: 45: Hoare triple {14732#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14715#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:59:07,817 INFO L290 TraceCheckUtils]: 44: Hoare triple {14736#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14732#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 04:59:07,820 INFO L290 TraceCheckUtils]: 43: Hoare triple {14740#(forall ((main_~Y~0 Int) (v_main_~x~0_72 Int)) (or (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* 2 (* v_main_~x~0_72 (+ main_~y~0 1))) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ 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; {14736#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14740#(forall ((main_~Y~0 Int) (v_main_~x~0_72 Int)) (or (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* 2 (* v_main_~x~0_72 (+ main_~y~0 1))) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is VALID [2022-04-08 04:59:07,822 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L272 TraceCheckUtils]: 37: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 36: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 35: Hoare triple {14507#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 34: Hoare triple {14507#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 33: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L272 TraceCheckUtils]: 28: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-08 04:59:07,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {14507#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {14507#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; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L272 TraceCheckUtils]: 19: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {14507#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L272 TraceCheckUtils]: 12: Hoare triple {14507#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {14507#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-08 04:59:07,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L272 TraceCheckUtils]: 6: Hoare triple {14507#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L290 TraceCheckUtils]: 5: Hoare triple {14507#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; {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {14507#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); {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-08 04:59:07,824 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 04:59:07,824 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:59:07,824 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1302341530] [2022-04-08 04:59:07,824 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:59:07,824 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1456121600] [2022-04-08 04:59:07,824 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1456121600] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:59:07,824 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:59:07,825 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-08 04:59:07,825 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:59:07,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1066603069] [2022-04-08 04:59:07,825 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1066603069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:59:07,825 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:59:07,825 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:59:07,825 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1972846684] [2022-04-08 04:59:07,825 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:59:07,825 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:59:07,825 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:59:07,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:59:09,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:59:09,870 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:59:09,870 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:59:09,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:59:09,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=470, Unknown=2, NotChecked=0, Total=552 [2022-04-08 04:59:09,870 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:59:15,050 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:24,031 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:30,157 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:31,762 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:33,764 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:35,183 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.41s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:37,187 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:39,191 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:41,194 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:43,438 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:45,441 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:47,445 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:59:48,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:59:48,149 INFO L93 Difference]: Finished difference Result 168 states and 199 transitions. [2022-04-08 04:59:48,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:59:48,149 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-08 04:59:48,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:59:48,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:59:48,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-08 04:59:48,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:59:48,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-08 04:59:48,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 71 transitions. [2022-04-08 04:59:52,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 69 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:59:52,236 INFO L225 Difference]: With dead ends: 168 [2022-04-08 04:59:52,236 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 04:59:52,236 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 11.5s TimeCoverageRelationStatistics Valid=151, Invalid=839, Unknown=2, NotChecked=0, Total=992 [2022-04-08 04:59:52,236 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 25 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 534 mSolverCounterSat, 9 mSolverCounterUnsat, 9 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 23.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 552 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 534 IncrementalHoareTripleChecker+Invalid, 9 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 23.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:59:52,237 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 269 Invalid, 552 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 534 Invalid, 9 Unknown, 0 Unchecked, 23.5s Time] [2022-04-08 04:59:52,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 04:59:52,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 155. [2022-04-08 04:59:52,729 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:59:52,729 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:59:52,729 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:59:52,729 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:59:52,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:59:52,732 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-08 04:59:52,732 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-08 04:59:52,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:59:52,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:59:52,733 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-08 04:59:52,733 INFO L87 Difference]: Start difference. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-08 04:59:52,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:59:52,735 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-08 04:59:52,735 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-08 04:59:52,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:59:52,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:59:52,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:59:52,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:59:52,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:59:52,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 184 transitions. [2022-04-08 04:59:52,739 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 184 transitions. Word has length 57 [2022-04-08 04:59:52,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:59:52,739 INFO L478 AbstractCegarLoop]: Abstraction has 155 states and 184 transitions. [2022-04-08 04:59:52,739 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 04:59:52,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 184 transitions. [2022-04-08 04:59:53,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:59:53,444 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 184 transitions. [2022-04-08 04:59:53,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 04:59:53,444 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:59:53,444 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:59:53,462 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 04:59:53,651 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:59:53,652 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:59:53,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:59:53,652 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-08 04:59:53,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:59:53,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [833072516] [2022-04-08 04:59:53,652 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:59:53,652 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-08 04:59:53,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:59:53,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [143224905] [2022-04-08 04:59:53,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:59:53,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:59:53,662 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:59:53,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1505559354] [2022-04-08 04:59:53,662 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:59:53,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:59:53,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:59:53,663 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:59:53,663 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 04:59:54,154 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:59:54,155 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:59:54,156 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 04:59:54,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:59:54,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:00:09,411 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:00:16,282 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:00:22,309 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:00:28,442 WARN L833 $PredicateComparison]: unable to prove that (and (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0)) is different from false