/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_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:32:13,150 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:32:13,152 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:32:13,194 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:32:13,195 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:32:13,196 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:32:13,199 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:32:13,203 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:32:13,204 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:32:13,208 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:32:13,209 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:32:13,210 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:32:13,210 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:32:13,212 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:32:13,213 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:32:13,215 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:32:13,216 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:32:13,217 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:32:13,219 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:32:13,222 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:32:13,223 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:32:13,225 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:32:13,226 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:32:13,226 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:32:13,227 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:32:13,230 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:32:13,231 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:32:13,231 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:32:13,232 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:32:13,232 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:32:13,233 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:32:13,233 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:32:13,235 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:32:13,235 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:32:13,236 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:32:13,236 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:32:13,236 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:32:13,237 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:32:13,237 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:32:13,237 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:32:13,238 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:32:13,239 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:32:13,240 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:32:13,252 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:32:13,252 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:32:13,254 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:32:13,254 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:32:13,255 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:32:13,255 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:32:13,255 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:32:13,255 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:32:13,256 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:32:13,256 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:32:13,256 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:32:13,257 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:32:13,257 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:32:13,257 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:32:13,257 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 04:32:13,491 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:32:13,515 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:32:13,517 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:32:13,518 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:32:13,518 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:32:13,519 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound50.c [2022-04-28 04:32:13,571 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/735676d58/488a32678fd54f188c2b40ece438d1c8/FLAG310f29a2d [2022-04-28 04:32:13,965 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:32:13,966 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound50.c [2022-04-28 04:32:13,971 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/735676d58/488a32678fd54f188c2b40ece438d1c8/FLAG310f29a2d [2022-04-28 04:32:13,982 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/735676d58/488a32678fd54f188c2b40ece438d1c8 [2022-04-28 04:32:13,984 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:32:13,985 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:32:13,986 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:32:13,986 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:32:13,993 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:32:13,994 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:32:13" (1/1) ... [2022-04-28 04:32:13,994 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@582c019e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:13, skipping insertion in model container [2022-04-28 04:32:13,994 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:32:13" (1/1) ... [2022-04-28 04:32:14,001 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:32:14,012 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:32:14,198 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_unwindbound50.c[597,610] [2022-04-28 04:32:14,226 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:32:14,232 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:32:14,248 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_unwindbound50.c[597,610] [2022-04-28 04:32:14,265 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:32:14,277 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:32:14,278 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14 WrapperNode [2022-04-28 04:32:14,279 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:32:14,279 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:32:14,280 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:32:14,280 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:32:14,288 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,289 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,296 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,296 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,310 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,314 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,318 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,321 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:32:14,322 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:32:14,322 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:32:14,322 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:32:14,323 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (1/1) ... [2022-04-28 04:32:14,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:32:14,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:14,352 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 04:32:14,379 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 04:32:14,405 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:32:14,405 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:32:14,406 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:32:14,406 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:32:14,406 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:32:14,406 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:32:14,406 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:32:14,406 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:32:14,406 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:32:14,407 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:32:14,407 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:32:14,407 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:32:14,408 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:32:14,409 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:32:14,409 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:32:14,469 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:32:14,470 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:32:14,632 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:32:14,638 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:32:14,638 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:32:14,639 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:32:14 BoogieIcfgContainer [2022-04-28 04:32:14,640 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:32:14,641 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:32:14,641 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:32:14,643 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:32:14,644 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:32:13" (1/3) ... [2022-04-28 04:32:14,644 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d6f272a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:32:14, skipping insertion in model container [2022-04-28 04:32:14,644 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:32:14" (2/3) ... [2022-04-28 04:32:14,644 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d6f272a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:32:14, skipping insertion in model container [2022-04-28 04:32:14,644 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:32:14" (3/3) ... [2022-04-28 04:32:14,645 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound50.c [2022-04-28 04:32:14,656 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:32:14,656 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:32:14,702 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:32:14,712 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7efde76f, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2fa75626 [2022-04-28 04:32:14,712 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:32:14,719 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:14,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 04:32:14,724 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:14,725 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:14,725 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:14,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:14,732 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-28 04:32:14,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:14,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [917845962] [2022-04-28 04:32:14,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:32:14,757 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-28 04:32:14,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:14,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084624667] [2022-04-28 04:32:14,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:14,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:14,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:14,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:32:14,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:14,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-28 04:32:14,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-28 04:32:14,974 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-28 04:32:14,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:32:14,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-28 04:32:14,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-28 04:32:14,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-28 04:32:14,978 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-28 04:32:14,978 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-28 04:32:14,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-28 04:32:14,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-28 04:32:14,982 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#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)); {29#false} is VALID [2022-04-28 04:32:14,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-28 04:32:14,983 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-28 04:32:14,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-28 04:32:14,983 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:14,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:14,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084624667] [2022-04-28 04:32:14,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2084624667] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:14,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:14,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:32:14,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:14,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [917845962] [2022-04-28 04:32:14,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [917845962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:14,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:14,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:32:14,991 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977540568] [2022-04-28 04:32:14,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:14,995 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 04:32:14,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:15,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:15,026 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:32:15,026 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:15,047 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:32:15,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:32:15,050 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,196 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 04:32:15,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:32:15,197 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 04:32:15,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:15,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-28 04:32:15,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-28 04:32:15,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-28 04:32:15,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:15,309 INFO L225 Difference]: With dead ends: 45 [2022-04-28 04:32:15,310 INFO L226 Difference]: Without dead ends: 21 [2022-04-28 04:32:15,311 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:32:15,315 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:15,316 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:32:15,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-28 04:32:15,340 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-28 04:32:15,340 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:15,341 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:15,342 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:15,342 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:15,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,345 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-28 04:32:15,345 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-28 04:32:15,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:15,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:15,346 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-28 04:32:15,346 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-28 04:32:15,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,348 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-28 04:32:15,349 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-28 04:32:15,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:15,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:15,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:15,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:15,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:15,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-28 04:32:15,352 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-28 04:32:15,352 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:15,353 INFO L495 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-28 04:32:15,353 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-28 04:32:15,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:15,377 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-28 04:32:15,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 04:32:15,378 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:15,378 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:15,378 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:32:15,379 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:15,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:15,379 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-28 04:32:15,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:15,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [238359011] [2022-04-28 04:32:15,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:32:15,381 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-28 04:32:15,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:15,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2005772117] [2022-04-28 04:32:15,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:15,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:15,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:15,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1404650730] [2022-04-28 04:32:15,397 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:15,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:15,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:15,400 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:15,443 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 04:32:15,459 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:32:15,459 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:15,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 04:32:15,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:15,481 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:15,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-28 04:32:15,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {208#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);~counter~0 := 0; {208#true} is VALID [2022-04-28 04:32:15,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-28 04:32:15,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-28 04:32:15,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-28 04:32:15,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {208#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:15,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:15,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {235#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-28 04:32:15,684 INFO L272 TraceCheckUtils]: 8: Hoare triple {235#(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)); {239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:15,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:15,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-28 04:32:15,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-28 04:32:15,685 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:15,685 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:32:15,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:15,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2005772117] [2022-04-28 04:32:15,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:15,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1404650730] [2022-04-28 04:32:15,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1404650730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:15,687 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:15,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:32:15,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:15,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [238359011] [2022-04-28 04:32:15,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [238359011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:15,690 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:15,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:32:15,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184219513] [2022-04-28 04:32:15,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:15,691 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 04:32:15,691 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:15,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:15,703 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:32:15,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:15,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:32:15,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:32:15,705 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,917 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-28 04:32:15,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:32:15,917 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 04:32:15,917 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:15,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 04:32:15,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:15,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-28 04:32:15,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-28 04:32:15,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:15,965 INFO L225 Difference]: With dead ends: 34 [2022-04-28 04:32:15,965 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 04:32:15,966 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:32:15,968 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:15,973 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:32:15,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 04:32:15,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-28 04:32:15,989 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:15,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:15,990 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:15,990 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:15,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,992 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-28 04:32:15,993 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-28 04:32:15,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:15,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:15,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-28 04:32:15,994 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-28 04:32:15,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:15,996 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-28 04:32:15,996 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-28 04:32:15,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:15,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:15,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:15,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:15,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:16,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-28 04:32:16,001 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-28 04:32:16,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:16,001 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-28 04:32:16,001 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 04:32:16,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-28 04:32:16,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:16,039 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-28 04:32:16,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 04:32:16,041 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:16,041 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:16,065 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 04:32:16,264 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:16,264 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:16,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:16,265 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-28 04:32:16,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:16,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [534989510] [2022-04-28 04:32:16,371 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:16,372 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:16,372 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:16,372 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-28 04:32:16,372 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:16,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [748817635] [2022-04-28 04:32:16,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:16,373 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:16,386 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:16,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2137239963] [2022-04-28 04:32:16,387 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:16,387 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:16,387 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:16,388 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:16,402 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 04:32:16,445 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:32:16,446 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:16,447 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 04:32:16,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:16,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:16,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-28 04:32:16,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#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);~counter~0 := 0; {435#true} is VALID [2022-04-28 04:32:16,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 04:32:16,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-28 04:32:16,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-28 04:32:16,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:16,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:16,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:16,710 INFO L272 TraceCheckUtils]: 8: Hoare triple {455#(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)); {435#true} is VALID [2022-04-28 04:32:16,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-28 04:32:16,711 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-28 04:32:16,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 04:32:16,712 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:16,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:16,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {455#(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; {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:16,716 INFO L290 TraceCheckUtils]: 15: Hoare triple {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:16,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:16,718 INFO L290 TraceCheckUtils]: 17: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:16,719 INFO L272 TraceCheckUtils]: 18: Hoare triple {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~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)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:16,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:16,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-28 04:32:16,721 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-28 04:32:16,721 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:16,721 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:32:16,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-28 04:32:16,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-28 04:32:16,919 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:16,922 INFO L272 TraceCheckUtils]: 18: Hoare triple {518#(= (+ (* 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)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:16,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {522#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {518#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:32:16,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {529#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {522#(= (+ (* 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; {529#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:32:16,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {522#(= (+ (* 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); {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,929 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 04:32:16,929 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-28 04:32:16,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-28 04:32:16,929 INFO L272 TraceCheckUtils]: 8: Hoare triple {522#(= (+ (* 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)); {435#true} is VALID [2022-04-28 04:32:16,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {522#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:16,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-28 04:32:16,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-28 04:32:16,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-28 04:32:16,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#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);~counter~0 := 0; {435#true} is VALID [2022-04-28 04:32:16,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-28 04:32:16,933 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:32:16,934 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:16,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [748817635] [2022-04-28 04:32:16,934 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:16,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2137239963] [2022-04-28 04:32:16,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2137239963] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:32:16,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:32:16,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 04:32:16,935 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:16,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [534989510] [2022-04-28 04:32:16,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [534989510] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:16,935 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:16,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:32:16,935 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046576557] [2022-04-28 04:32:16,935 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:16,936 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 04:32:16,936 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:16,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:16,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:16,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:32:16,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:16,961 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:32:16,962 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:32:16,962 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:17,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:17,355 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-28 04:32:17,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:32:17,355 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 04:32:17,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:17,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:17,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 04:32:17,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:17,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 04:32:17,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 04:32:17,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:17,407 INFO L225 Difference]: With dead ends: 44 [2022-04-28 04:32:17,407 INFO L226 Difference]: Without dead ends: 39 [2022-04-28 04:32:17,408 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:32:17,408 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 12 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:17,409 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 106 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:32:17,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-28 04:32:17,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-28 04:32:17,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:17,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:17,425 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:17,425 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:17,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:17,427 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 04:32:17,427 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-28 04:32:17,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:17,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:17,428 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-28 04:32:17,428 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-28 04:32:17,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:17,430 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 04:32:17,430 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-28 04:32:17,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:17,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:17,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:17,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:17,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:17,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-28 04:32:17,433 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-28 04:32:17,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:17,433 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-28 04:32:17,433 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:17,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-28 04:32:17,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:17,479 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 04:32:17,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 04:32:17,479 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:17,480 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:17,506 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 04:32:17,695 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 04:32:17,696 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:17,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:17,696 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-28 04:32:17,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:17,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [780916470] [2022-04-28 04:32:17,771 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:17,772 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:17,772 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:17,772 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-28 04:32:17,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:17,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2006334134] [2022-04-28 04:32:17,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:17,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:17,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:17,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1028357736] [2022-04-28 04:32:17,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:17,798 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:17,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:17,799 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:17,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 04:32:17,846 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:32:17,846 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:17,847 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 04:32:17,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:17,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:18,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-28 04:32:18,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#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);~counter~0 := 0; {823#true} is VALID [2022-04-28 04:32:18,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 04:32:18,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-28 04:32:18,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-28 04:32:18,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:18,071 INFO L290 TraceCheckUtils]: 6: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:18,071 INFO L290 TraceCheckUtils]: 7: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:18,072 INFO L272 TraceCheckUtils]: 8: Hoare triple {843#(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)); {823#true} is VALID [2022-04-28 04:32:18,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-28 04:32:18,072 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-28 04:32:18,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 04:32:18,073 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:18,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:18,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {843#(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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {871#(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-28 04:32:18,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {871#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:32:18,076 INFO L290 TraceCheckUtils]: 16: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:32:18,076 INFO L290 TraceCheckUtils]: 17: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 04:32:18,077 INFO L272 TraceCheckUtils]: 18: Hoare triple {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~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)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:18,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:18,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-28 04:32:18,078 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-28 04:32:18,078 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:18,079 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:32:18,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-28 04:32:18,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-28 04:32:18,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:18,238 INFO L272 TraceCheckUtils]: 18: Hoare triple {906#(= (+ (* 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)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:18,239 INFO L290 TraceCheckUtils]: 17: Hoare triple {910#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {906#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:32:18,240 INFO L290 TraceCheckUtils]: 16: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {917#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {910#(= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {917#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:32:18,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {910#(= (+ (* 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); {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,348 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 04:32:18,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-28 04:32:18,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-28 04:32:18,348 INFO L272 TraceCheckUtils]: 8: Hoare triple {910#(= (+ (* 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)); {823#true} is VALID [2022-04-28 04:32:18,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {910#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:18,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-28 04:32:18,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-28 04:32:18,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-28 04:32:18,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#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);~counter~0 := 0; {823#true} is VALID [2022-04-28 04:32:18,353 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-28 04:32:18,353 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:32:18,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:18,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2006334134] [2022-04-28 04:32:18,353 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:18,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1028357736] [2022-04-28 04:32:18,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1028357736] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:32:18,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:32:18,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 04:32:18,354 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:18,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [780916470] [2022-04-28 04:32:18,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [780916470] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:18,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:18,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:32:18,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [217905272] [2022-04-28 04:32:18,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:18,355 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 04:32:18,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:18,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:18,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:18,380 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:32:18,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:18,381 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:32:18,381 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:32:18,381 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:18,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:18,723 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-28 04:32:18,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:32:18,724 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-28 04:32:18,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:18,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:18,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 04:32:18,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:18,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 04:32:18,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 04:32:18,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:18,773 INFO L225 Difference]: With dead ends: 53 [2022-04-28 04:32:18,773 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 04:32:18,773 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:32:18,774 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 123 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 123 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:18,774 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 111 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 123 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:32:18,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 04:32:18,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-28 04:32:18,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:18,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:18,793 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:18,794 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:18,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:18,796 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-28 04:32:18,796 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-28 04:32:18,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:18,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:18,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-28 04:32:18,797 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-28 04:32:18,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:18,799 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-28 04:32:18,799 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-28 04:32:18,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:18,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:18,800 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:18,800 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:18,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:18,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-28 04:32:18,802 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-28 04:32:18,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:18,803 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-28 04:32:18,803 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:18,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-28 04:32:18,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:18,858 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 04:32:18,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:32:18,859 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:18,859 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:18,875 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 04:32:19,063 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:19,063 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:19,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:19,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-28 04:32:19,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:19,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1883318659] [2022-04-28 04:32:19,123 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:19,123 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:19,123 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:19,123 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-28 04:32:19,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:19,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434749031] [2022-04-28 04:32:19,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:19,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:19,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:19,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2123593091] [2022-04-28 04:32:19,146 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:19,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:19,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:19,153 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:19,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 04:32:19,201 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:32:19,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:19,202 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 04:32:19,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:19,211 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:19,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-28 04:32:19,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#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);~counter~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 04:32:19,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 04:32:19,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 04:32:19,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-28 04:32:19,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {1277#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-28 04:32:19,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {1277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,339 INFO L272 TraceCheckUtils]: 8: Hoare triple {1293#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,340 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {1293#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {1293#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1293#(<= ~counter~0 1)} is VALID [2022-04-28 04:32:19,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {1293#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1324#(<= |main_#t~post6| 1)} is VALID [2022-04-28 04:32:19,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {1270#false} is VALID [2022-04-28 04:32:19,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-28 04:32:19,343 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#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)); {1270#false} is VALID [2022-04-28 04:32:19,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-28 04:32:19,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-28 04:32:19,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-28 04:32:19,344 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:19,344 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:32:19,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-28 04:32:19,487 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-28 04:32:19,487 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-28 04:32:19,488 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#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)); {1270#false} is VALID [2022-04-28 04:32:19,488 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-28 04:32:19,488 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {1270#false} is VALID [2022-04-28 04:32:19,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 50)} is VALID [2022-04-28 04:32:19,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 50)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,491 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 50)} #58#return; {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,491 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-28 04:32:19,491 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-28 04:32:19,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-28 04:32:19,491 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1269#true} is VALID [2022-04-28 04:32:19,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,493 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 50)} is VALID [2022-04-28 04:32:19,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 49)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1393#(< ~counter~0 49)} is VALID [2022-04-28 04:32:19,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 49)} call #t~ret9 := main(); {1393#(< ~counter~0 49)} is VALID [2022-04-28 04:32:19,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 49)} {1269#true} #62#return; {1393#(< ~counter~0 49)} is VALID [2022-04-28 04:32:19,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 49)} assume true; {1393#(< ~counter~0 49)} is VALID [2022-04-28 04:32:19,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#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);~counter~0 := 0; {1393#(< ~counter~0 49)} is VALID [2022-04-28 04:32:19,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-28 04:32:19,495 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:32:19,496 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:19,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434749031] [2022-04-28 04:32:19,496 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:19,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2123593091] [2022-04-28 04:32:19,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2123593091] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:32:19,496 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:32:19,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 04:32:19,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:19,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1883318659] [2022-04-28 04:32:19,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1883318659] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:19,497 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:19,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:32:19,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2068151595] [2022-04-28 04:32:19,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:19,497 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-28 04:32:19,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:19,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:19,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:19,517 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:32:19,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:19,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:32:19,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:32:19,518 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:19,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:19,611 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-28 04:32:19,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:32:19,611 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-28 04:32:19,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:19,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:19,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:32:19,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:19,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:32:19,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 04:32:19,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:19,654 INFO L225 Difference]: With dead ends: 54 [2022-04-28 04:32:19,654 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 04:32:19,655 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:32:19,655 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 3 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 14 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:19,656 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 66 Invalid, 14 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:32:19,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 04:32:19,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 04:32:19,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:19,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:19,686 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:19,687 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:19,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:19,689 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 04:32:19,689 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 04:32:19,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:19,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:19,689 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-28 04:32:19,690 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-28 04:32:19,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:19,691 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 04:32:19,691 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 04:32:19,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:19,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:19,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:19,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:19,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:19,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 04:32:19,699 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-28 04:32:19,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:19,700 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 04:32:19,700 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:32:19,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-28 04:32:19,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:19,746 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 04:32:19,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 04:32:19,747 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:19,747 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:19,764 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 04:32:19,952 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:19,952 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:19,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:19,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-28 04:32:19,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:19,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1868366016] [2022-04-28 04:32:20,029 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:20,030 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:20,030 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:20,030 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-28 04:32:20,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:20,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649656340] [2022-04-28 04:32:20,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:20,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:20,054 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:20,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [970721353] [2022-04-28 04:32:20,054 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:20,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:20,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:20,060 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:20,089 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 04:32:20,114 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:32:20,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:20,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 04:32:20,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:20,126 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:20,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-28 04:32:20,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#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);~counter~0 := 0; {1708#true} is VALID [2022-04-28 04:32:20,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 04:32:20,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-28 04:32:20,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-28 04:32:20,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:20,584 INFO L290 TraceCheckUtils]: 6: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:20,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:20,585 INFO L272 TraceCheckUtils]: 8: Hoare triple {1728#(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)); {1708#true} is VALID [2022-04-28 04:32:20,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 04:32:20,585 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 04:32:20,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 04:32:20,591 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:20,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1753#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:20,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {1753#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-28 04:32:20,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:32:20,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:32:20,595 INFO L290 TraceCheckUtils]: 17: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1768#(and (= (+ (- 1) main_~x~0) 0) (= 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-28 04:32:20,595 INFO L272 TraceCheckUtils]: 18: Hoare triple {1768#(and (= (+ (- 1) main_~x~0) 0) (= 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)); {1708#true} is VALID [2022-04-28 04:32:20,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:20,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:20,596 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:20,598 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1768#(and (= (+ (- 1) main_~x~0) 0) (= 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)))} #58#return; {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:32:20,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:32:20,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (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; {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 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-28 04:32:20,601 INFO L272 TraceCheckUtils]: 25: Hoare triple {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 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)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:20,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:20,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-28 04:32:20,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-28 04:32:20,603 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:32:20,603 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:32:21,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-28 04:32:21,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-28 04:32:21,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:21,416 INFO L272 TraceCheckUtils]: 25: Hoare triple {1818#(= (+ (* 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)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:21,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {1822#(= (+ (* 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; {1818#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:21,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {1826#(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); {1822#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:32:21,419 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1830#(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)))))} #58#return; {1826#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:32:21,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:21,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:21,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:32:21,425 INFO L272 TraceCheckUtils]: 18: Hoare triple {1830#(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)); {1708#true} is VALID [2022-04-28 04:32:21,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {1847#(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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1830#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:32:21,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {1847#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:32:21,429 INFO L290 TraceCheckUtils]: 15: Hoare triple {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:32:21,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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-28 04:32:21,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {1708#true} assume !!(~x~0 <= ~X~0); {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* 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-28 04:32:21,432 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L272 TraceCheckUtils]: 8: Hoare triple {1708#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1708#true} is VALID [2022-04-28 04:32:21,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-28 04:32:21,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-28 04:32:21,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 04:32:21,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#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);~counter~0 := 0; {1708#true} is VALID [2022-04-28 04:32:21,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-28 04:32:21,435 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:32:21,435 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:21,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1649656340] [2022-04-28 04:32:21,435 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:21,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [970721353] [2022-04-28 04:32:21,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [970721353] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:32:21,436 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:32:21,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 04:32:21,436 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:21,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1868366016] [2022-04-28 04:32:21,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1868366016] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:21,436 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:21,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:32:21,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [948471510] [2022-04-28 04:32:21,436 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:21,437 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-28 04:32:21,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:21,438 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:21,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:21,469 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:32:21,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:21,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:32:21,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:32:21,471 INFO L87 Difference]: Start difference. First operand 46 states and 50 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:22,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:22,050 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 04:32:22,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:32:22,050 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-28 04:32:22,050 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:22,051 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:22,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-28 04:32:22,052 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:22,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-28 04:32:22,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-28 04:32:22,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:22,103 INFO L225 Difference]: With dead ends: 57 [2022-04-28 04:32:22,103 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 04:32:22,104 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=115, Invalid=587, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:32:22,104 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 20 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 176 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 176 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:22,105 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 107 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 176 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:32:22,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 04:32:22,129 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-28 04:32:22,129 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:22,129 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:22,130 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:22,130 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:22,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:22,132 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 04:32:22,132 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 04:32:22,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:22,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:22,132 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-28 04:32:22,132 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-28 04:32:22,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:22,134 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 04:32:22,134 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 04:32:22,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:22,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:22,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:22,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:22,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:32:22,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-28 04:32:22,136 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-28 04:32:22,136 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:22,136 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-28 04:32:22,136 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:22,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-28 04:32:22,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:22,183 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 04:32:22,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:32:22,184 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:22,184 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:22,200 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 04:32:22,387 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:22,387 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:22,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:22,388 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-28 04:32:22,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:22,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1096478973] [2022-04-28 04:32:22,451 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:22,452 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:22,452 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:22,452 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-28 04:32:22,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:22,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636798707] [2022-04-28 04:32:22,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:22,452 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:22,468 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:22,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2036579880] [2022-04-28 04:32:22,468 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:32:22,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:22,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:22,469 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:22,477 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 04:32:22,521 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:32:22,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:22,522 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:32:22,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:22,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:22,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-28 04:32:22,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#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);~counter~0 := 0; {2201#true} is VALID [2022-04-28 04:32:22,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 04:32:22,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-28 04:32:22,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-28 04:32:22,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,879 INFO L272 TraceCheckUtils]: 8: Hoare triple {2221#(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)); {2201#true} is VALID [2022-04-28 04:32:22,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-28 04:32:22,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-28 04:32:22,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 04:32:22,881 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {2221#(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; {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2260#(and (= (+ (- 1) main_~x~0) 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 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,885 INFO L272 TraceCheckUtils]: 18: Hoare triple {2260#(and (= (+ (- 1) main_~x~0) 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 (* (- 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)); {2201#true} is VALID [2022-04-28 04:32:22,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:22,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:22,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:22,892 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2260#(and (= (+ (- 1) main_~x~0) 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 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #58#return; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 04:32:22,897 INFO L290 TraceCheckUtils]: 24: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= 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; {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,900 INFO L290 TraceCheckUtils]: 26: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:32:22,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0))} is VALID [2022-04-28 04:32:22,902 INFO L272 TraceCheckUtils]: 28: Hoare triple {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 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)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:22,903 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:22,904 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-28 04:32:22,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-28 04:32:22,904 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:32:22,904 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:32:25,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-28 04:32:25,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-28 04:32:25,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:32:25,761 INFO L272 TraceCheckUtils]: 28: Hoare triple {2319#(= (+ (* 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)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:32:25,761 INFO L290 TraceCheckUtils]: 27: Hoare triple {2323#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2319#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:32:25,762 INFO L290 TraceCheckUtils]: 26: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:25,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {2330#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:25,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {2323#(= (+ (* 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; {2330#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:32:25,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {2323#(= (+ (* 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); {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:25,792 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2340#(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)))))} #58#return; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:32:25,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:25,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:32:25,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:32:25,794 INFO L272 TraceCheckUtils]: 18: Hoare triple {2340#(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)); {2201#true} is VALID [2022-04-28 04:32:25,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2340#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:32:25,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-28 04:32:25,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {2201#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2201#true} is VALID [2022-04-28 04:32:25,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {2201#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2201#true} is VALID [2022-04-28 04:32:25,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-28 04:32:25,795 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L272 TraceCheckUtils]: 8: Hoare triple {2201#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-28 04:32:25,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-28 04:32:25,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-28 04:32:25,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#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);~counter~0 := 0; {2201#true} is VALID [2022-04-28 04:32:25,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-28 04:32:25,797 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 04:32:25,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:32:25,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636798707] [2022-04-28 04:32:25,811 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:32:25,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2036579880] [2022-04-28 04:32:25,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2036579880] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:32:25,811 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:32:25,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:32:25,812 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:32:25,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1096478973] [2022-04-28 04:32:25,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1096478973] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:32:25,812 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:32:25,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:32:25,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714134798] [2022-04-28 04:32:25,812 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:32:25,813 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:32:25,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:32:25,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:25,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:25,850 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:32:25,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:25,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:32:25,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:32:25,851 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:26,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:26,622 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-28 04:32:26,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:32:26,623 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:32:26,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:32:26,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:26,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 04:32:26,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:26,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 04:32:26,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 04:32:26,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:26,676 INFO L225 Difference]: With dead ends: 63 [2022-04-28 04:32:26,676 INFO L226 Difference]: Without dead ends: 58 [2022-04-28 04:32:26,677 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 44 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 04:32:26,677 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 18 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 318 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 324 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 318 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:32:26,678 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 151 Invalid, 324 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 318 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:32:26,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-28 04:32:26,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-28 04:32:26,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:32:26,715 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:26,715 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:26,715 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:26,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:26,718 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-28 04:32:26,718 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 04:32:26,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:26,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:26,718 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-28 04:32:26,719 INFO L87 Difference]: Start difference. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-28 04:32:26,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:32:26,720 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-28 04:32:26,720 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 04:32:26,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:32:26,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:32:26,721 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:32:26,721 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:32:26,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:32:26,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-28 04:32:26,723 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-28 04:32:26,723 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:32:26,723 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-28 04:32:26,723 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:32:26,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-28 04:32:26,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:32:26,790 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 04:32:26,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:32:26,790 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:32:26,790 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:32:26,809 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 04:32:26,995 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:26,995 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:32:26,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:32:26,996 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-28 04:32:26,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:32:26,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [525097538] [2022-04-28 04:32:27,122 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:32:27,122 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:32:27,122 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:32:27,122 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-28 04:32:27,122 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:32:27,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793706134] [2022-04-28 04:32:27,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:32:27,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:32:27,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:32:27,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [852285640] [2022-04-28 04:32:27,145 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:32:27,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:32:27,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:32:27,148 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:32:27,172 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 04:32:27,200 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:32:27,200 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:32:27,201 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 04:32:27,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:32:27,215 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:32:50,324 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:32:52,367 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:32:56,673 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:33:52,814 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-28 04:33:52,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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);~counter~0 := 0; {2754#true} is VALID [2022-04-28 04:33:52,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 04:33:52,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-28 04:33:52,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-28 04:33:52,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,816 INFO L290 TraceCheckUtils]: 6: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,816 INFO L272 TraceCheckUtils]: 8: Hoare triple {2774#(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)); {2754#true} is VALID [2022-04-28 04:33:52,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:33:52,817 INFO L290 TraceCheckUtils]: 10: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:52,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:52,818 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {2774#(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; {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,820 INFO L290 TraceCheckUtils]: 16: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 04:33:52,820 INFO L290 TraceCheckUtils]: 17: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2815#(and (< (* main_~Y~0 2) main_~X~0) (= 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-28 04:33:52,820 INFO L272 TraceCheckUtils]: 18: Hoare triple {2815#(and (< (* main_~Y~0 2) main_~X~0) (= 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)); {2754#true} is VALID [2022-04-28 04:33:52,821 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:33:52,821 INFO L290 TraceCheckUtils]: 20: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:52,821 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:52,823 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2815#(and (< (* main_~Y~0 2) main_~X~0) (= 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)))} #58#return; {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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 0))} is VALID [2022-04-28 04:33:52,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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 0))} assume !!(~x~0 <= ~X~0); {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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 0))} is VALID [2022-04-28 04:33:52,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 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 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:33:52,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:33:52,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:33:52,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* 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))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-28 04:33:52,841 INFO L272 TraceCheckUtils]: 28: Hoare triple {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) 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)); {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:33:52,841 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:33:52,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-28 04:33:52,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-28 04:33:52,842 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:33:52,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:33:56,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-28 04:33:56,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-28 04:33:56,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:33:56,957 INFO L272 TraceCheckUtils]: 28: Hoare triple {2873#(= (+ (* 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)); {2853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:33:56,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {2877#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2873#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:33:56,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {2877#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2877#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:33:56,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {2884#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2877#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:33:56,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {2888#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2884#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:33:56,963 INFO L290 TraceCheckUtils]: 23: Hoare triple {2888#(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); {2888#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:33:56,964 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2895#(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)))))} #58#return; {2888#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:33:56,964 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:56,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {2905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:33:56,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2905#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:33:56,965 INFO L272 TraceCheckUtils]: 18: Hoare triple {2895#(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)); {2754#true} is VALID [2022-04-28 04:33:56,965 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2895#(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-28 04:33:56,966 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {2754#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {2754#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-28 04:33:56,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L272 TraceCheckUtils]: 8: Hoare triple {2754#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-28 04:33:56,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#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);~counter~0 := 0; {2754#true} is VALID [2022-04-28 04:33:56,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-28 04:33:56,968 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 04:33:56,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:33:56,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793706134] [2022-04-28 04:33:56,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:33:56,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [852285640] [2022-04-28 04:33:56,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [852285640] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:33:56,968 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:33:56,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 04:33:56,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:33:56,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [525097538] [2022-04-28 04:33:56,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [525097538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:33:56,969 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:33:56,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:33:56,969 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2056383986] [2022-04-28 04:33:56,969 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:33:56,970 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:33:56,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:33:56,970 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), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:33:57,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:33:57,012 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:33:57,012 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:33:57,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:33:57,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:33:57,012 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:33:59,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:33:59,167 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-28 04:33:59,167 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:33:59,167 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:33:59,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:33:59,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:33:59,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 04:33:59,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:33:59,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 04:33:59,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-28 04:33:59,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:33:59,250 INFO L225 Difference]: With dead ends: 74 [2022-04-28 04:33:59,250 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 04:33:59,250 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:33:59,251 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 268 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 277 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 268 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:33:59,251 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 144 Invalid, 277 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 268 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:33:59,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 04:33:59,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-28 04:33:59,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:33:59,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:33:59,303 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:33:59,304 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:33:59,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:33:59,306 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-28 04:33:59,306 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-28 04:33:59,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:33:59,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:33:59,306 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-28 04:33:59,307 INFO L87 Difference]: Start difference. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-28 04:33:59,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:33:59,308 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-28 04:33:59,308 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-28 04:33:59,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:33:59,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:33:59,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:33:59,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:33:59,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:33:59,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-28 04:33:59,311 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-28 04:33:59,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:33:59,311 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-28 04:33:59,311 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:33:59,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-28 04:33:59,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:33:59,417 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-28 04:33:59,417 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:33:59,417 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:33:59,418 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:33:59,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 04:33:59,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:33:59,619 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:33:59,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:33:59,620 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-28 04:33:59,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:33:59,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [147014156] [2022-04-28 04:33:59,758 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:33:59,758 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:33:59,758 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:33:59,758 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-28 04:33:59,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:33:59,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1190346092] [2022-04-28 04:33:59,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:33:59,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:33:59,780 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:33:59,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1878846866] [2022-04-28 04:33:59,780 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:33:59,780 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:33:59,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:33:59,781 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:33:59,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 04:33:59,844 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:33:59,845 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:33:59,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 04:33:59,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:33:59,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:34:10,514 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:34:16,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {3357#true} call ULTIMATE.init(); {3357#true} is VALID [2022-04-28 04:34:16,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {3357#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);~counter~0 := 0; {3357#true} is VALID [2022-04-28 04:34:16,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 04:34:16,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3357#true} {3357#true} #62#return; {3357#true} is VALID [2022-04-28 04:34:16,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {3357#true} call #t~ret9 := main(); {3357#true} is VALID [2022-04-28 04:34:16,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {3357#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:34:16,810 INFO L290 TraceCheckUtils]: 6: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:34:16,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:34:16,811 INFO L272 TraceCheckUtils]: 8: Hoare triple {3377#(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)); {3357#true} is VALID [2022-04-28 04:34:16,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {3357#true} ~cond := #in~cond; {3357#true} is VALID [2022-04-28 04:34:16,811 INFO L290 TraceCheckUtils]: 10: Hoare triple {3357#true} assume !(0 == ~cond); {3357#true} is VALID [2022-04-28 04:34:16,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 04:34:16,812 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3357#true} {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:34:16,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3377#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:34:16,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {3377#(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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3405#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:16,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {3405#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:16,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:16,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {3409#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:34:16,815 INFO L272 TraceCheckUtils]: 18: Hoare triple {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3357#true} is VALID [2022-04-28 04:34:16,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {3357#true} ~cond := #in~cond; {3423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:16,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {3423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:16,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:16,817 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} {3416#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:16,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:16,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {3434#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~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_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3441#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:34:16,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {3441#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 04:34:16,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 04:34:16,824 INFO L290 TraceCheckUtils]: 27: Hoare triple {3445#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3452#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 04:34:16,826 INFO L272 TraceCheckUtils]: 28: Hoare triple {3452#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= 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)); {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:16,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3460#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:16,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {3460#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3358#false} is VALID [2022-04-28 04:34:16,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#false} assume !false; {3358#false} is VALID [2022-04-28 04:34:16,827 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:34:16,827 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:34:18,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#false} assume !false; {3358#false} is VALID [2022-04-28 04:34:18,471 INFO L290 TraceCheckUtils]: 30: Hoare triple {3460#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3358#false} is VALID [2022-04-28 04:34:18,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3460#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:18,473 INFO L272 TraceCheckUtils]: 28: Hoare triple {3476#(= (+ (* 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)); {3456#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:18,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {3480#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3476#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:34:18,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {3480#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3480#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:34:18,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {3487#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3480#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:34:18,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {3491#(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; {3487#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:34:18,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {3491#(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); {3491#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:34:18,479 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} {3498#(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)))))} #58#return; {3491#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:34:18,479 INFO L290 TraceCheckUtils]: 21: Hoare triple {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:18,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {3508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:18,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {3357#true} ~cond := #in~cond; {3508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:34:18,480 INFO L272 TraceCheckUtils]: 18: Hoare triple {3498#(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)); {3357#true} is VALID [2022-04-28 04:34:18,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {3357#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3498#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:34:18,481 INFO L290 TraceCheckUtils]: 16: Hoare triple {3357#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3357#true} is VALID [2022-04-28 04:34:18,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {3357#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {3357#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {3357#true} assume !!(~x~0 <= ~X~0); {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3357#true} {3357#true} #58#return; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 10: Hoare triple {3357#true} assume !(0 == ~cond); {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 9: Hoare triple {3357#true} ~cond := #in~cond; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L272 TraceCheckUtils]: 8: Hoare triple {3357#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {3357#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 6: Hoare triple {3357#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3357#true} is VALID [2022-04-28 04:34:18,482 INFO L290 TraceCheckUtils]: 5: Hoare triple {3357#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L272 TraceCheckUtils]: 4: Hoare triple {3357#true} call #t~ret9 := main(); {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3357#true} {3357#true} #62#return; {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {3357#true} assume true; {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {3357#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);~counter~0 := 0; {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {3357#true} call ULTIMATE.init(); {3357#true} is VALID [2022-04-28 04:34:18,483 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 04:34:18,483 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:34:18,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1190346092] [2022-04-28 04:34:18,484 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:34:18,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1878846866] [2022-04-28 04:34:18,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1878846866] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:34:18,484 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:34:18,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 04:34:18,484 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:34:18,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [147014156] [2022-04-28 04:34:18,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [147014156] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:34:18,485 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:34:18,485 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:34:18,485 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [171585313] [2022-04-28 04:34:18,485 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:34:18,486 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:34:18,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:34:18,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:18,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:18,524 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:34:18,524 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:18,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:34:18,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:34:18,525 INFO L87 Difference]: Start difference. First operand 58 states and 64 transitions. Second operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:20,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:20,099 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-28 04:34:20,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:34:20,100 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:34:20,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:34:20,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:20,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 04:34:20,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:20,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 04:34:20,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-28 04:34:20,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:20,189 INFO L225 Difference]: With dead ends: 94 [2022-04-28 04:34:20,189 INFO L226 Difference]: Without dead ends: 80 [2022-04-28 04:34:20,189 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:34:20,190 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:34:20,190 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 166 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:34:20,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-28 04:34:20,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-28 04:34:20,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:34:20,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:20,257 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:20,257 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:20,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:20,260 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-28 04:34:20,260 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-28 04:34:20,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:20,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:20,260 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-28 04:34:20,260 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-28 04:34:20,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:20,262 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-28 04:34:20,262 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-28 04:34:20,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:20,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:20,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:34:20,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:34:20,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:20,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-28 04:34:20,265 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-28 04:34:20,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:34:20,265 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-28 04:34:20,266 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:20,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-28 04:34:20,394 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-28 04:34:20,395 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-28 04:34:20,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:34:20,395 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:34:20,395 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:34:20,411 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 04:34:20,595 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 04:34:20,596 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:34:20,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:34:20,596 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-28 04:34:20,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:20,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1395642764] [2022-04-28 04:34:20,656 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:34:20,656 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:34:20,657 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:34:20,657 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-28 04:34:20,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:34:20,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806869451] [2022-04-28 04:34:20,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:34:20,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:34:20,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:34:20,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1113003217] [2022-04-28 04:34:20,677 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:34:20,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:34:20,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:34:20,680 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:34:20,681 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 04:34:20,735 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:34:20,735 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:34:20,736 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:34:20,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:34:20,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:34:21,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2022-04-28 04:34:21,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {4080#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);~counter~0 := 0; {4080#true} is VALID [2022-04-28 04:34:21,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #62#return; {4080#true} is VALID [2022-04-28 04:34:21,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret9 := main(); {4080#true} is VALID [2022-04-28 04:34:21,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {4080#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:21,249 INFO L290 TraceCheckUtils]: 6: Hoare triple {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:21,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:21,250 INFO L272 TraceCheckUtils]: 8: Hoare triple {4100#(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)); {4080#true} is VALID [2022-04-28 04:34:21,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 04:34:21,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 04:34:21,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,251 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4080#true} {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:21,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {4100#(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); {4100#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:21,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {4100#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4128#(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-28 04:34:21,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {4128#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:21,258 INFO L290 TraceCheckUtils]: 16: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:21,258 INFO L290 TraceCheckUtils]: 17: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:21,258 INFO L272 TraceCheckUtils]: 18: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4080#true} is VALID [2022-04-28 04:34:21,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 04:34:21,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 04:34:21,259 INFO L290 TraceCheckUtils]: 21: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,263 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4080#true} {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #58#return; {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:21,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {4132#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4157#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:34:21,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {4157#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4161#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} is VALID [2022-04-28 04:34:21,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {4161#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 04:34:21,267 INFO L290 TraceCheckUtils]: 26: Hoare triple {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 04:34:21,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {4165#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4172#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 1 main_~X~0))} is VALID [2022-04-28 04:34:21,269 INFO L272 TraceCheckUtils]: 28: Hoare triple {4172#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 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)); {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:21,270 INFO L290 TraceCheckUtils]: 29: Hoare triple {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:21,270 INFO L290 TraceCheckUtils]: 30: Hoare triple {4180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4081#false} is VALID [2022-04-28 04:34:21,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2022-04-28 04:34:21,271 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:34:21,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:34:21,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2022-04-28 04:34:21,943 INFO L290 TraceCheckUtils]: 30: Hoare triple {4180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4081#false} is VALID [2022-04-28 04:34:21,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:21,944 INFO L272 TraceCheckUtils]: 28: Hoare triple {4196#(= (+ (* 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)); {4176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:21,945 INFO L290 TraceCheckUtils]: 27: Hoare triple {4200#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4196#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:34:21,945 INFO L290 TraceCheckUtils]: 26: Hoare triple {4200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:34:21,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {4207#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:34:21,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {4211#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4207#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:34:21,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {4215#(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); {4211#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:34:21,950 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4080#true} {4215#(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)))} #58#return; {4215#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:34:21,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 04:34:21,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 04:34:21,950 INFO L272 TraceCheckUtils]: 18: Hoare triple {4215#(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)); {4080#true} is VALID [2022-04-28 04:34:21,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {4215#(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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4215#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:34:21,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {4215#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4215#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:34:21,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {4240#(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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4215#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:34:21,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {4244#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4240#(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-28 04:34:21,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {4244#(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); {4244#(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-28 04:34:21,956 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4080#true} {4244#(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))))} #58#return; {4244#(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-28 04:34:21,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {4080#true} assume !(0 == ~cond); {4080#true} is VALID [2022-04-28 04:34:21,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#true} ~cond := #in~cond; {4080#true} is VALID [2022-04-28 04:34:21,956 INFO L272 TraceCheckUtils]: 8: Hoare triple {4244#(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)); {4080#true} is VALID [2022-04-28 04:34:21,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {4244#(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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4244#(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-28 04:34:21,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {4244#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4244#(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-28 04:34:21,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {4080#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4244#(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-28 04:34:21,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret9 := main(); {4080#true} is VALID [2022-04-28 04:34:21,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #62#return; {4080#true} is VALID [2022-04-28 04:34:21,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2022-04-28 04:34:21,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {4080#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);~counter~0 := 0; {4080#true} is VALID [2022-04-28 04:34:21,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2022-04-28 04:34:21,958 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:34:21,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:34:21,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806869451] [2022-04-28 04:34:21,958 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:34:21,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1113003217] [2022-04-28 04:34:21,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1113003217] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:34:21,959 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:34:21,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-28 04:34:21,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:34:21,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1395642764] [2022-04-28 04:34:21,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1395642764] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:34:21,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:34:21,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:34:21,959 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [666674075] [2022-04-28 04:34:21,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:34:21,960 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:34:21,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:34:21,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:21,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:21,984 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:34:21,984 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:21,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:34:21,985 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:34:21,985 INFO L87 Difference]: Start difference. First operand 78 states and 86 transitions. Second operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:23,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:23,022 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-28 04:34:23,022 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:34:23,023 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-28 04:34:23,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:34:23,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:23,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-28 04:34:23,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:23,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-28 04:34:23,029 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-28 04:34:23,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:23,077 INFO L225 Difference]: With dead ends: 93 [2022-04-28 04:34:23,077 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 04:34:23,077 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:34:23,078 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 262 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:34:23,078 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 183 Invalid, 262 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:34:23,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 04:34:23,171 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-28 04:34:23,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:34:23,172 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:23,172 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:23,172 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:23,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:23,174 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-28 04:34:23,174 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-28 04:34:23,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:23,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:23,175 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-28 04:34:23,175 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-28 04:34:23,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:23,177 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-28 04:34:23,177 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-28 04:34:23,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:23,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:23,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:34:23,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:34:23,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:23,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-28 04:34:23,180 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-28 04:34:23,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:34:23,180 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-28 04:34:23,180 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:23,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-28 04:34:23,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:23,314 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-28 04:34:23,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 04:34:23,315 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:34:23,315 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:34:23,331 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 04:34:23,519 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 04:34:23,520 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:34:23,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:34:23,520 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-28 04:34:23,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:23,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [749032733] [2022-04-28 04:34:23,618 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:34:23,618 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:34:23,619 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:34:23,619 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-28 04:34:23,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:34:23,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699926443] [2022-04-28 04:34:23,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:34:23,619 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:34:23,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:34:23,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1264987970] [2022-04-28 04:34:23,638 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:34:23,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:34:23,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:34:23,648 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:34:23,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 04:34:23,704 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:34:23,704 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:34:23,705 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 04:34:23,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:34:23,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:34:23,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {4833#true} call ULTIMATE.init(); {4833#true} is VALID [2022-04-28 04:34:23,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {4833#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);~counter~0 := 0; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 04:34:23,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {4841#(<= ~counter~0 0)} assume true; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 04:34:23,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4841#(<= ~counter~0 0)} {4833#true} #62#return; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 04:34:23,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {4841#(<= ~counter~0 0)} call #t~ret9 := main(); {4841#(<= ~counter~0 0)} is VALID [2022-04-28 04:34:23,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {4841#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4841#(<= ~counter~0 0)} is VALID [2022-04-28 04:34:23,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {4841#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {4857#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,922 INFO L272 TraceCheckUtils]: 8: Hoare triple {4857#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {4857#(<= ~counter~0 1)} ~cond := #in~cond; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,923 INFO L290 TraceCheckUtils]: 10: Hoare triple {4857#(<= ~counter~0 1)} assume !(0 == ~cond); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {4857#(<= ~counter~0 1)} assume true; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,924 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4857#(<= ~counter~0 1)} {4857#(<= ~counter~0 1)} #58#return; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {4857#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {4857#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {4857#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4857#(<= ~counter~0 1)} is VALID [2022-04-28 04:34:23,926 INFO L290 TraceCheckUtils]: 16: Hoare triple {4857#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,926 INFO L290 TraceCheckUtils]: 17: Hoare triple {4888#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,927 INFO L272 TraceCheckUtils]: 18: Hoare triple {4888#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {4888#(<= ~counter~0 2)} ~cond := #in~cond; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {4888#(<= ~counter~0 2)} assume !(0 == ~cond); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {4888#(<= ~counter~0 2)} assume true; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,929 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4888#(<= ~counter~0 2)} {4888#(<= ~counter~0 2)} #58#return; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,929 INFO L290 TraceCheckUtils]: 23: Hoare triple {4888#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,929 INFO L290 TraceCheckUtils]: 24: Hoare triple {4888#(<= ~counter~0 2)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {4888#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4888#(<= ~counter~0 2)} is VALID [2022-04-28 04:34:23,930 INFO L290 TraceCheckUtils]: 26: Hoare triple {4888#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4919#(<= |main_#t~post6| 2)} is VALID [2022-04-28 04:34:23,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {4919#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L290 TraceCheckUtils]: 28: Hoare triple {4834#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L272 TraceCheckUtils]: 29: Hoare triple {4834#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)); {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#false} ~cond := #in~cond; {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#false} assume 0 == ~cond; {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#false} assume !false; {4834#false} is VALID [2022-04-28 04:34:23,931 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:34:23,931 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:34:24,134 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#false} assume !false; {4834#false} is VALID [2022-04-28 04:34:24,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#false} assume 0 == ~cond; {4834#false} is VALID [2022-04-28 04:34:24,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#false} ~cond := #in~cond; {4834#false} is VALID [2022-04-28 04:34:24,135 INFO L272 TraceCheckUtils]: 29: Hoare triple {4834#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)); {4834#false} is VALID [2022-04-28 04:34:24,135 INFO L290 TraceCheckUtils]: 28: Hoare triple {4834#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4834#false} is VALID [2022-04-28 04:34:24,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {4953#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {4834#false} is VALID [2022-04-28 04:34:24,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4953#(< |main_#t~post6| 50)} is VALID [2022-04-28 04:34:24,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#(< ~counter~0 50)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {4957#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,137 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4833#true} {4957#(< ~counter~0 50)} #58#return; {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {4833#true} assume true; {4833#true} is VALID [2022-04-28 04:34:24,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {4833#true} assume !(0 == ~cond); {4833#true} is VALID [2022-04-28 04:34:24,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {4833#true} ~cond := #in~cond; {4833#true} is VALID [2022-04-28 04:34:24,137 INFO L272 TraceCheckUtils]: 18: Hoare triple {4957#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4833#true} is VALID [2022-04-28 04:34:24,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {4957#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {4988#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4957#(< ~counter~0 50)} is VALID [2022-04-28 04:34:24,138 INFO L290 TraceCheckUtils]: 15: Hoare triple {4988#(< ~counter~0 49)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {4988#(< ~counter~0 49)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {4988#(< ~counter~0 49)} assume !!(~x~0 <= ~X~0); {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,139 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4833#true} {4988#(< ~counter~0 49)} #58#return; {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {4833#true} assume true; {4833#true} is VALID [2022-04-28 04:34:24,140 INFO L290 TraceCheckUtils]: 10: Hoare triple {4833#true} assume !(0 == ~cond); {4833#true} is VALID [2022-04-28 04:34:24,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {4833#true} ~cond := #in~cond; {4833#true} is VALID [2022-04-28 04:34:24,140 INFO L272 TraceCheckUtils]: 8: Hoare triple {4988#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4833#true} is VALID [2022-04-28 04:34:24,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {4988#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {5019#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4988#(< ~counter~0 49)} is VALID [2022-04-28 04:34:24,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {5019#(< ~counter~0 48)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5019#(< ~counter~0 48)} is VALID [2022-04-28 04:34:24,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {5019#(< ~counter~0 48)} call #t~ret9 := main(); {5019#(< ~counter~0 48)} is VALID [2022-04-28 04:34:24,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5019#(< ~counter~0 48)} {4833#true} #62#return; {5019#(< ~counter~0 48)} is VALID [2022-04-28 04:34:24,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {5019#(< ~counter~0 48)} assume true; {5019#(< ~counter~0 48)} is VALID [2022-04-28 04:34:24,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {4833#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);~counter~0 := 0; {5019#(< ~counter~0 48)} is VALID [2022-04-28 04:34:24,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {4833#true} call ULTIMATE.init(); {4833#true} is VALID [2022-04-28 04:34:24,145 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:34:24,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:34:24,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1699926443] [2022-04-28 04:34:24,145 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:34:24,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1264987970] [2022-04-28 04:34:24,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1264987970] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:34:24,145 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:34:24,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 04:34:24,145 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:34:24,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [749032733] [2022-04-28 04:34:24,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [749032733] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:34:24,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:34:24,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:34:24,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1343783407] [2022-04-28 04:34:24,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:34:24,146 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 04:34:24,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:34:24,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:24,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:24,171 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:34:24,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:24,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:34:24,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:34:24,171 INFO L87 Difference]: Start difference. First operand 86 states and 95 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:24,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:24,376 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-28 04:34:24,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:34:24,377 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 04:34:24,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:34:24,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:24,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 04:34:24,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:24,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 04:34:24,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 04:34:24,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:24,418 INFO L225 Difference]: With dead ends: 94 [2022-04-28 04:34:24,418 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 04:34:24,418 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:34:24,419 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 5 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:34:24,419 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 83 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:34:24,419 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 04:34:24,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-28 04:34:24,506 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:34:24,506 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:24,506 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:24,507 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:24,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:24,509 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-28 04:34:24,509 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 04:34:24,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:24,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:24,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-28 04:34:24,510 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-28 04:34:24,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:24,511 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-28 04:34:24,511 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 04:34:24,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:24,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:24,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:34:24,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:34:24,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:34:24,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-28 04:34:24,514 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-28 04:34:24,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:34:24,514 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-28 04:34:24,514 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:34:24,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-28 04:34:24,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:24,660 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-28 04:34:24,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 04:34:24,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:34:24,660 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:34:24,676 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 04:34:24,863 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 04:34:24,863 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:34:24,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:34:24,864 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-28 04:34:24,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:24,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [71942144] [2022-04-28 04:34:24,929 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:34:24,930 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:34:24,930 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:34:24,930 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-28 04:34:24,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:34:24,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122418499] [2022-04-28 04:34:24,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:34:24,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:34:24,942 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:34:24,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [910704986] [2022-04-28 04:34:24,943 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:34:24,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:34:24,943 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:34:24,944 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:34:24,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 04:34:25,000 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:34:25,001 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:34:25,002 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 04:34:25,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:34:25,016 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:34:25,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 04:34:25,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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);~counter~0 := 0; {5576#true} is VALID [2022-04-28 04:34:25,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:25,602 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5576#true} {5576#true} #62#return; {5576#true} is VALID [2022-04-28 04:34:25,602 INFO L272 TraceCheckUtils]: 4: Hoare triple {5576#true} call #t~ret9 := main(); {5576#true} is VALID [2022-04-28 04:34:25,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {5576#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:25,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:25,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:25,603 INFO L272 TraceCheckUtils]: 8: Hoare triple {5596#(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)); {5576#true} is VALID [2022-04-28 04:34:25,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 04:34:25,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 04:34:25,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:25,604 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5576#true} {5596#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:25,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5596#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:34:25,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {5596#(and (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5624#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {5624#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,606 INFO L290 TraceCheckUtils]: 17: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,606 INFO L272 TraceCheckUtils]: 18: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) 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)); {5576#true} is VALID [2022-04-28 04:34:25,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 04:34:25,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 04:34:25,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:25,607 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5576#true} {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #58#return; {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {5628#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(~x~0 <= ~X~0); {5653#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {5653#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5657#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} is VALID [2022-04-28 04:34:25,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {5657#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:34:25,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:34:25,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {5661#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:34:25,609 INFO L272 TraceCheckUtils]: 28: Hoare triple {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)); {5576#true} is VALID [2022-04-28 04:34:25,609 INFO L290 TraceCheckUtils]: 29: Hoare triple {5576#true} ~cond := #in~cond; {5675#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:25,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {5675#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:25,610 INFO L290 TraceCheckUtils]: 31: Hoare triple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:25,611 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} {5668#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 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)))} #58#return; {5686#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) 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 (+ main_~X~0 1)))} is VALID [2022-04-28 04:34:25,611 INFO L290 TraceCheckUtils]: 33: Hoare triple {5686#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) 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 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5690#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) 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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:34:25,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {5690#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) 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)) (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; {5694#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* 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-28 04:34:25,613 INFO L272 TraceCheckUtils]: 35: Hoare triple {5694#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* 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)); {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:25,613 INFO L290 TraceCheckUtils]: 36: Hoare triple {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:25,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {5702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 04:34:25,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 04:34:25,614 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 11 proven. 15 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:34:25,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:34:26,359 INFO L290 TraceCheckUtils]: 38: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 04:34:26,360 INFO L290 TraceCheckUtils]: 37: Hoare triple {5702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 04:34:26,360 INFO L290 TraceCheckUtils]: 36: Hoare triple {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:34:26,361 INFO L272 TraceCheckUtils]: 35: Hoare triple {5718#(= (+ (* 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)); {5698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:34:26,362 INFO L290 TraceCheckUtils]: 34: Hoare triple {5722#(= (+ (* 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; {5718#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:34:26,362 INFO L290 TraceCheckUtils]: 33: Hoare triple {5726#(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); {5722#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:34:26,363 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} {5730#(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)))))} #58#return; {5726#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:34:26,364 INFO L290 TraceCheckUtils]: 31: Hoare triple {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:26,364 INFO L290 TraceCheckUtils]: 30: Hoare triple {5740#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5679#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:34:26,364 INFO L290 TraceCheckUtils]: 29: Hoare triple {5576#true} ~cond := #in~cond; {5740#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:34:26,364 INFO L272 TraceCheckUtils]: 28: Hoare triple {5730#(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)); {5576#true} is VALID [2022-04-28 04:34:26,365 INFO L290 TraceCheckUtils]: 27: Hoare triple {5747#(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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5730#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:34:26,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {5747#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5747#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:34:26,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {5754#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5747#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:34:26,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {5758#(or (forall ((main_~Y~0 Int)) (= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5754#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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-28 04:34:26,370 INFO L290 TraceCheckUtils]: 23: Hoare triple {5576#true} assume !!(~x~0 <= ~X~0); {5758#(or (forall ((main_~Y~0 Int)) (= (+ (* 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-28 04:34:26,371 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5576#true} {5576#true} #58#return; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 21: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L272 TraceCheckUtils]: 18: Hoare triple {5576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {5576#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {5576#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {5576#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 14: Hoare triple {5576#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {5576#true} assume !!(~x~0 <= ~X~0); {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5576#true} {5576#true} #58#return; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:26,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L272 TraceCheckUtils]: 8: Hoare triple {5576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {5576#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 6: Hoare triple {5576#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {5576#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {5576#true} call #t~ret9 := main(); {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5576#true} {5576#true} #62#return; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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);~counter~0 := 0; {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 04:34:26,372 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 21 proven. 1 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 04:34:26,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:34:26,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122418499] [2022-04-28 04:34:26,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:34:26,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [910704986] [2022-04-28 04:34:26,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [910704986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:34:26,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:34:26,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 04:34:26,373 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:34:26,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [71942144] [2022-04-28 04:34:26,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [71942144] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:34:26,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:34:26,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:34:26,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506944544] [2022-04-28 04:34:26,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:34:26,374 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-28 04:34:26,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:34:26,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:34:26,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:26,405 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:34:26,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:26,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:34:26,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:34:26,405 INFO L87 Difference]: Start difference. First operand 86 states and 92 transitions. Second operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:34:27,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:27,979 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 04:34:27,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:34:27,980 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-28 04:34:27,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:34:27,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:34:27,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 04:34:27,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:34:27,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 04:34:27,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-28 04:34:28,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:28,036 INFO L225 Difference]: With dead ends: 97 [2022-04-28 04:34:28,036 INFO L226 Difference]: Without dead ends: 89 [2022-04-28 04:34:28,037 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-28 04:34:28,037 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 17 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 384 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 384 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:34:28,038 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 206 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 384 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:34:28,038 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-28 04:34:28,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-28 04:34:28,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:34:28,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:28,117 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:28,117 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:28,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:28,119 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-28 04:34:28,119 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-28 04:34:28,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:28,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:28,120 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-28 04:34:28,120 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-28 04:34:28,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:34:28,122 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-28 04:34:28,122 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-28 04:34:28,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:34:28,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:34:28,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:34:28,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:34:28,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:34:28,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-28 04:34:28,124 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-28 04:34:28,124 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:34:28,124 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-28 04:34:28,124 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:34:28,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-28 04:34:28,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:34:28,247 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-28 04:34:28,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 04:34:28,248 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:34:28,248 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:34:28,264 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 04:34:28,448 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 04:34:28,448 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:34:28,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:34:28,449 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-28 04:34:28,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:34:28,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1863393044] [2022-04-28 04:34:28,520 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:34:28,520 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:34:28,520 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:34:28,520 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-28 04:34:28,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:34:28,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [428886998] [2022-04-28 04:34:28,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:34:28,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:34:28,540 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:34:28,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1812926178] [2022-04-28 04:34:28,540 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:34:28,540 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:34:28,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:34:28,542 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:34:28,543 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 04:34:28,580 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:34:28,581 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:34:28,581 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 04:34:28,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:34:28,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:34:46,722 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:35:30,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 04:35:30,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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);~counter~0 := 0; {6371#true} is VALID [2022-04-28 04:35:30,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:30,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #62#return; {6371#true} is VALID [2022-04-28 04:35:30,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret9 := main(); {6371#true} is VALID [2022-04-28 04:35:30,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,057 INFO L290 TraceCheckUtils]: 6: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,058 INFO L272 TraceCheckUtils]: 8: Hoare triple {6391#(= 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)); {6371#true} is VALID [2022-04-28 04:35:30,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 04:35:30,058 INFO L290 TraceCheckUtils]: 10: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 04:35:30,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:30,059 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6371#true} {6391#(= main_~y~0 0)} #58#return; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {6391#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {6391#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {6391#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,060 INFO L290 TraceCheckUtils]: 16: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,060 INFO L272 TraceCheckUtils]: 18: Hoare triple {6391#(= 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)); {6371#true} is VALID [2022-04-28 04:35:30,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 04:35:30,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 04:35:30,061 INFO L290 TraceCheckUtils]: 21: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:30,061 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6371#true} {6391#(= main_~y~0 0)} #58#return; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {6391#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,062 INFO L290 TraceCheckUtils]: 24: Hoare triple {6391#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {6391#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {6391#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6391#(= main_~y~0 0)} is VALID [2022-04-28 04:35:30,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {6391#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6458#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:35:30,063 INFO L272 TraceCheckUtils]: 28: Hoare triple {6458#(and (= (* 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)); {6371#true} is VALID [2022-04-28 04:35:30,063 INFO L290 TraceCheckUtils]: 29: Hoare triple {6371#true} ~cond := #in~cond; {6465#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:30,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {6465#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:30,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:30,070 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} {6458#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:35:30,071 INFO L290 TraceCheckUtils]: 33: Hoare triple {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:35:30,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6483#(and (= 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-28 04:35:30,074 INFO L290 TraceCheckUtils]: 35: Hoare triple {6483#(and (= 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:35:30,074 INFO L290 TraceCheckUtils]: 36: Hoare triple {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:35:32,077 WARN L290 TraceCheckUtils]: 37: Hoare triple {6476#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6493#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} is UNKNOWN [2022-04-28 04:35:32,079 INFO L272 TraceCheckUtils]: 38: Hoare triple {6493#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:35:32,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6501#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:32,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {6501#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 04:35:32,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 04:35:32,080 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:35:32,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:35:34,614 INFO L290 TraceCheckUtils]: 41: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 04:35:34,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {6501#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 04:35:34,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6501#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:35:34,615 INFO L272 TraceCheckUtils]: 38: Hoare triple {6517#(= (+ (* 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)); {6497#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:35:34,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {6521#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:35:34,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:35:34,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {6528#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:35:34,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {6521#(= (+ (* 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; {6528#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:35:34,620 INFO L290 TraceCheckUtils]: 33: Hoare triple {6521#(= (+ (* 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); {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:35:34,621 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} {6538#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {6521#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:35:34,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:34,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {6548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:35:34,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {6371#true} ~cond := #in~cond; {6548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:35:34,622 INFO L272 TraceCheckUtils]: 28: Hoare triple {6538#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 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)); {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 27: Hoare triple {6371#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6538#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 26: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {6371#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {6371#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {6371#true} assume !!(~x~0 <= ~X~0); {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6371#true} {6371#true} #58#return; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 21: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L272 TraceCheckUtils]: 18: Hoare triple {6371#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 17: Hoare triple {6371#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 04:35:34,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {6371#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {6371#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {6371#true} assume !!(~x~0 <= ~X~0); {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6371#true} {6371#true} #58#return; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 10: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L272 TraceCheckUtils]: 8: Hoare triple {6371#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {6371#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {6371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret9 := main(); {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #62#return; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 04:35:34,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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);~counter~0 := 0; {6371#true} is VALID [2022-04-28 04:35:34,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 04:35:34,625 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:35:34,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:35:34,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [428886998] [2022-04-28 04:35:34,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:35:34,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1812926178] [2022-04-28 04:35:34,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1812926178] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:35:34,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:35:34,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 04:35:34,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:35:34,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1863393044] [2022-04-28 04:35:34,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1863393044] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:35:34,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:35:34,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:35:34,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2123375401] [2022-04-28 04:35:34,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:35:34,626 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 04:35:34,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:35:34,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:35:36,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:35:36,655 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:35:36,655 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:35:36,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:35:36,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:35:36,656 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:35:53,098 WARN L232 SmtUtils]: Spent 16.25s on a formula simplification. DAG size of input: 45 DAG size of output: 33 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:35:56,816 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:35:58,922 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:36:01,308 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:36:05,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:05,624 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2022-04-28 04:36:05,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:36:05,624 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 04:36:05,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:36:05,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:05,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2022-04-28 04:36:05,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:05,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2022-04-28 04:36:05,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 42 transitions. [2022-04-28 04:36:07,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:07,688 INFO L225 Difference]: With dead ends: 103 [2022-04-28 04:36:07,688 INFO L226 Difference]: Without dead ends: 97 [2022-04-28 04:36:07,689 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 20.9s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-28 04:36:07,689 INFO L413 NwaCegarLoop]: 13 mSDtfsCounter, 21 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 9 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:36:07,689 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 82 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 114 Invalid, 2 Unknown, 0 Unchecked, 5.8s Time] [2022-04-28 04:36:07,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-28 04:36:07,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-28 04:36:07,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:36:07,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:07,776 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:07,776 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:07,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:07,778 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 04:36:07,778 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-28 04:36:07,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:07,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:07,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-28 04:36:07,779 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-28 04:36:07,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:07,781 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-28 04:36:07,781 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-28 04:36:07,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:07,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:07,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:36:07,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:36:07,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:36:07,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-28 04:36:07,783 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-28 04:36:07,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:36:07,784 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-28 04:36:07,784 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:07,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-28 04:36:09,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 94 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:09,951 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 04:36:09,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 04:36:09,951 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:36:09,951 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:36:09,967 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 04:36:10,152 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 04:36:10,152 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:36:10,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:36:10,153 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-28 04:36:10,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:36:10,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2031262831] [2022-04-28 04:36:10,251 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:36:10,251 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:36:10,251 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:36:10,251 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-28 04:36:10,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:36:10,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [458051386] [2022-04-28 04:36:10,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:36:10,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:36:10,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:36:10,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [896733105] [2022-04-28 04:36:10,262 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:36:10,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:36:10,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:36:10,263 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:36:10,268 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 04:36:10,312 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:36:10,312 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:36:10,313 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 04:36:10,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:36:10,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:36:22,878 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:36:28,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {7224#true} call ULTIMATE.init(); {7224#true} is VALID [2022-04-28 04:36:28,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {7224#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);~counter~0 := 0; {7224#true} is VALID [2022-04-28 04:36:28,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:28,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7224#true} {7224#true} #62#return; {7224#true} is VALID [2022-04-28 04:36:28,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {7224#true} call #t~ret9 := main(); {7224#true} is VALID [2022-04-28 04:36:28,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {7224#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,828 INFO L290 TraceCheckUtils]: 6: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,829 INFO L272 TraceCheckUtils]: 8: Hoare triple {7244#(= 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)); {7224#true} is VALID [2022-04-28 04:36:28,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 04:36:28,829 INFO L290 TraceCheckUtils]: 10: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 04:36:28,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:28,830 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7224#true} {7244#(= main_~y~0 0)} #58#return; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {7244#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {7244#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {7244#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,831 INFO L272 TraceCheckUtils]: 18: Hoare triple {7244#(= 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)); {7224#true} is VALID [2022-04-28 04:36:28,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 04:36:28,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 04:36:28,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:28,832 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7224#true} {7244#(= main_~y~0 0)} #58#return; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {7244#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {7244#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {7244#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {7244#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(= main_~y~0 0)} is VALID [2022-04-28 04:36:28,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {7244#(= main_~y~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7311#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:36:28,834 INFO L272 TraceCheckUtils]: 28: Hoare triple {7311#(and (= (* 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)); {7224#true} is VALID [2022-04-28 04:36:28,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {7224#true} ~cond := #in~cond; {7318#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:28,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {7318#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:28,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:28,836 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} {7311#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {7329#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:28,837 INFO L290 TraceCheckUtils]: 33: Hoare triple {7329#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7329#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:28,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {7329#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7336#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:36:28,845 INFO L290 TraceCheckUtils]: 35: Hoare triple {7336#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:36:28,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:36:30,847 WARN L290 TraceCheckUtils]: 37: Hoare triple {7340#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7347#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~X~0 main_~xy~0))} is UNKNOWN [2022-04-28 04:36:30,850 INFO L272 TraceCheckUtils]: 38: Hoare triple {7347#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:36:30,851 INFO L290 TraceCheckUtils]: 39: Hoare triple {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:30,851 INFO L290 TraceCheckUtils]: 40: Hoare triple {7355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7225#false} is VALID [2022-04-28 04:36:30,851 INFO L290 TraceCheckUtils]: 41: Hoare triple {7225#false} assume !false; {7225#false} is VALID [2022-04-28 04:36:30,851 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:36:30,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:36:36,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {7225#false} assume !false; {7225#false} is VALID [2022-04-28 04:36:36,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {7355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7225#false} is VALID [2022-04-28 04:36:36,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:36,160 INFO L272 TraceCheckUtils]: 38: Hoare triple {7371#(= (+ (* 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)); {7351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:36:36,161 INFO L290 TraceCheckUtils]: 37: Hoare triple {7375#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7371#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:36:36,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:36,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {7382#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:36,165 INFO L290 TraceCheckUtils]: 34: Hoare triple {7375#(= (+ (* 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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7382#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:36:36,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {7375#(= (+ (* 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); {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:36,166 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} {7392#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {7375#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:36,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:36,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {7402#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7322#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:36,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {7224#true} ~cond := #in~cond; {7402#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:36:36,168 INFO L272 TraceCheckUtils]: 28: Hoare triple {7392#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 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)); {7224#true} is VALID [2022-04-28 04:36:36,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {7224#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7392#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:36:36,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {7224#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {7224#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {7224#true} assume !!(~x~0 <= ~X~0); {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7224#true} {7224#true} #58#return; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L272 TraceCheckUtils]: 18: Hoare triple {7224#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {7224#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 04:36:36,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {7224#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {7224#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {7224#true} assume !!(~x~0 <= ~X~0); {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7224#true} {7224#true} #58#return; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 10: Hoare triple {7224#true} assume !(0 == ~cond); {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {7224#true} ~cond := #in~cond; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L272 TraceCheckUtils]: 8: Hoare triple {7224#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {7224#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7224#true} is VALID [2022-04-28 04:36:36,170 INFO L290 TraceCheckUtils]: 6: Hoare triple {7224#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {7224#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {7224#true} call #t~ret9 := main(); {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7224#true} {7224#true} #62#return; {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {7224#true} assume true; {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {7224#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);~counter~0 := 0; {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {7224#true} call ULTIMATE.init(); {7224#true} is VALID [2022-04-28 04:36:36,171 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:36:36,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:36:36,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [458051386] [2022-04-28 04:36:36,172 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:36:36,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [896733105] [2022-04-28 04:36:36,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [896733105] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:36:36,172 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:36:36,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-28 04:36:36,173 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:36:36,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2031262831] [2022-04-28 04:36:36,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2031262831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:36:36,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:36:36,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:36:36,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [441509367] [2022-04-28 04:36:36,173 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:36:36,174 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 04:36:36,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:36:36,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:38,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:38,217 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:36:38,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:36:38,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:36:38,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:36:38,217 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:40,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:40,505 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-28 04:36:40,505 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:36:40,506 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-28 04:36:40,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:36:40,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:40,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-28 04:36:40,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:40,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-28 04:36:40,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-28 04:36:42,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:42,562 INFO L225 Difference]: With dead ends: 103 [2022-04-28 04:36:42,562 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 04:36:42,562 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-28 04:36:42,563 INFO L413 NwaCegarLoop]: 14 mSDtfsCounter, 22 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 203 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 212 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:36:42,563 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 103 Invalid, 212 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 203 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:36:42,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 04:36:42,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-28 04:36:42,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:36:42,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:36:42,654 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:36:42,655 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:36:42,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:42,657 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 04:36:42,657 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 04:36:42,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:42,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:42,657 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-28 04:36:42,658 INFO L87 Difference]: Start difference. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-28 04:36:42,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:42,659 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 04:36:42,660 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 04:36:42,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:42,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:42,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:36:42,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:36:42,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:36:42,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-28 04:36:42,662 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-28 04:36:42,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:36:42,662 INFO L495 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-28 04:36:42,662 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:36:42,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-28 04:36:46,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 106 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:46,864 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-28 04:36:46,865 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 04:36:46,865 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:36:46,865 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:36:46,882 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 04:36:47,067 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 04:36:47,068 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:36:47,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:36:47,068 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-28 04:36:47,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:36:47,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2042986137] [2022-04-28 04:36:47,154 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:36:47,154 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:36:47,154 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:36:47,154 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-28 04:36:47,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:36:47,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [537546533] [2022-04-28 04:36:47,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:36:47,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:36:47,163 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:36:47,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [994134440] [2022-04-28 04:36:47,163 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:36:47,163 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:36:47,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:36:47,164 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:36:47,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 04:36:47,229 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:36:47,229 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:36:47,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 04:36:47,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:36:47,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:36:47,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {8104#true} call ULTIMATE.init(); {8104#true} is VALID [2022-04-28 04:36:47,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {8104#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);~counter~0 := 0; {8104#true} is VALID [2022-04-28 04:36:47,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 04:36:47,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8104#true} {8104#true} #62#return; {8104#true} is VALID [2022-04-28 04:36:47,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {8104#true} call #t~ret9 := main(); {8104#true} is VALID [2022-04-28 04:36:47,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {8104#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:47,944 INFO L290 TraceCheckUtils]: 6: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:47,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:47,944 INFO L272 TraceCheckUtils]: 8: Hoare triple {8124#(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)); {8104#true} is VALID [2022-04-28 04:36:47,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 04:36:47,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 04:36:47,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 04:36:47,945 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8104#true} {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:47,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8124#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:36:47,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {8124#(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 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8152#(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-28 04:36:47,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {8152#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:36:47,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:36:47,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8163#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:36:47,948 INFO L272 TraceCheckUtils]: 18: Hoare triple {8163#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 04:36:47,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {8104#true} ~cond := #in~cond; {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:47,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:47,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:47,949 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8163#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:36:47,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:36:47,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {8156#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8187#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} is VALID [2022-04-28 04:36:47,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {8187#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 04:36:47,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 04:36:47,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* 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-28 04:36:47,952 INFO L272 TraceCheckUtils]: 28: Hoare triple {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* 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)); {8104#true} is VALID [2022-04-28 04:36:47,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {8104#true} ~cond := #in~cond; {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:47,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {8170#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:47,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:47,954 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8198#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 04:36:47,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {8191#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {8217#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-28 04:36:47,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {8217#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8221#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} is VALID [2022-04-28 04:36:47,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {8221#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:36:47,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:36:47,956 INFO L290 TraceCheckUtils]: 37: Hoare triple {8225#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8232#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} is VALID [2022-04-28 04:36:47,957 INFO L272 TraceCheckUtils]: 38: Hoare triple {8232#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~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)); {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:36:47,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8240#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:47,958 INFO L290 TraceCheckUtils]: 40: Hoare triple {8240#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8105#false} is VALID [2022-04-28 04:36:47,958 INFO L290 TraceCheckUtils]: 41: Hoare triple {8105#false} assume !false; {8105#false} is VALID [2022-04-28 04:36:47,959 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:36:47,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:36:53,552 INFO L290 TraceCheckUtils]: 41: Hoare triple {8105#false} assume !false; {8105#false} is VALID [2022-04-28 04:36:53,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {8240#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8105#false} is VALID [2022-04-28 04:36:53,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8240#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:36:53,565 INFO L272 TraceCheckUtils]: 38: Hoare triple {8256#(= (+ (* 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)); {8236#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:36:53,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {8260#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8256#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:36:53,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {8260#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8260#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:53,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {8267#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8260#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:36:53,571 INFO L290 TraceCheckUtils]: 34: Hoare triple {8271#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8267#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:36:53,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {8275#(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); {8271#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:36:53,573 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} {8279#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #58#return; {8275#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:36:53,573 INFO L290 TraceCheckUtils]: 31: Hoare triple {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:53,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {8289#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8174#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:36:53,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {8104#true} ~cond := #in~cond; {8289#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:36:53,574 INFO L272 TraceCheckUtils]: 28: Hoare triple {8279#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {8104#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8279#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {8104#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {8104#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {8104#true} assume !!(~x~0 <= ~X~0); {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8104#true} {8104#true} #58#return; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 04:36:53,576 INFO L272 TraceCheckUtils]: 18: Hoare triple {8104#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {8104#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {8104#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {8104#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {8104#true} assume !!(~x~0 <= ~X~0); {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8104#true} {8104#true} #58#return; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 10: Hoare triple {8104#true} assume !(0 == ~cond); {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L290 TraceCheckUtils]: 9: Hoare triple {8104#true} ~cond := #in~cond; {8104#true} is VALID [2022-04-28 04:36:53,577 INFO L272 TraceCheckUtils]: 8: Hoare triple {8104#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {8104#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L290 TraceCheckUtils]: 6: Hoare triple {8104#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {8104#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {8104#true} call #t~ret9 := main(); {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8104#true} {8104#true} #62#return; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {8104#true} assume true; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {8104#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);~counter~0 := 0; {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {8104#true} call ULTIMATE.init(); {8104#true} is VALID [2022-04-28 04:36:53,578 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:36:53,579 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:36:53,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [537546533] [2022-04-28 04:36:53,579 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:36:53,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [994134440] [2022-04-28 04:36:53,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [994134440] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:36:53,579 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:36:53,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-28 04:36:53,580 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:36:53,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2042986137] [2022-04-28 04:36:53,580 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2042986137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:36:53,580 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:36:53,580 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:36:53,580 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1860269402] [2022-04-28 04:36:53,580 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:36:53,580 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 04:36:53,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:36:53,581 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:36:53,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:53,623 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:36:53,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:36:53,624 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:36:53,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:36:53,624 INFO L87 Difference]: Start difference. First operand 98 states and 108 transitions. Second operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:36:55,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:55,983 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-28 04:36:55,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:36:55,983 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 04:36:55,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:36:55,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:36:55,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-28 04:36:55,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:36:55,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-28 04:36:55,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-28 04:36:56,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:36:56,055 INFO L225 Difference]: With dead ends: 113 [2022-04-28 04:36:56,055 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 04:36:56,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=124, Invalid=632, Unknown=0, NotChecked=0, Total=756 [2022-04-28 04:36:56,056 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 239 SdHoareTripleChecker+Invalid, 537 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 532 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:36:56,056 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 239 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 532 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:36:56,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 04:36:56,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-28 04:36:56,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:36:56,153 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:36:56,153 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:36:56,153 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:36:56,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:56,155 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-28 04:36:56,155 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-28 04:36:56,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:56,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:56,156 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-28 04:36:56,156 INFO L87 Difference]: Start difference. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-28 04:36:56,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:36:56,158 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-28 04:36:56,158 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-28 04:36:56,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:36:56,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:36:56,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:36:56,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:36:56,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:36:56,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-28 04:36:56,161 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-28 04:36:56,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:36:56,161 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-28 04:36:56,162 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:36:56,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-28 04:37:00,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 115 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 04:37:00,379 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-28 04:37:00,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 04:37:00,383 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:37:00,383 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:37:00,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 04:37:00,591 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:37:00,591 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:37:00,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:37:00,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-28 04:37:00,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:00,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1274604500] [2022-04-28 04:37:00,673 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:37:00,673 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:37:00,673 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:37:00,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-28 04:37:00,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:37:00,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1261909015] [2022-04-28 04:37:00,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:37:00,674 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:37:00,681 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:37:00,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1072708375] [2022-04-28 04:37:00,682 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:37:00,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:37:00,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:37:00,683 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:37:00,684 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 04:37:00,731 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:37:00,731 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:37:00,732 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:37:00,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:00,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:37:26,272 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:37:39,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {9047#true} call ULTIMATE.init(); {9047#true} is VALID [2022-04-28 04:37:39,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {9047#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);~counter~0 := 0; {9047#true} is VALID [2022-04-28 04:37:39,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:39,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9047#true} {9047#true} #62#return; {9047#true} is VALID [2022-04-28 04:37:39,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {9047#true} call #t~ret9 := main(); {9047#true} is VALID [2022-04-28 04:37:39,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {9047#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,699 INFO L290 TraceCheckUtils]: 6: Hoare triple {9067#(= main_~x~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {9067#(= main_~x~0 0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,700 INFO L272 TraceCheckUtils]: 8: Hoare triple {9067#(= 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)); {9047#true} is VALID [2022-04-28 04:37:39,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 04:37:39,700 INFO L290 TraceCheckUtils]: 10: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 04:37:39,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:39,701 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9047#true} {9067#(= main_~x~0 0)} #58#return; {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {9067#(= main_~x~0 0)} assume !!(~x~0 <= ~X~0); {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {9067#(= main_~x~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9067#(= main_~x~0 0)} is VALID [2022-04-28 04:37:39,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {9067#(= main_~x~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {9098#(= main_~x~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {9098#(= main_~x~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,702 INFO L272 TraceCheckUtils]: 18: Hoare triple {9098#(= 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)); {9047#true} is VALID [2022-04-28 04:37:39,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 04:37:39,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 04:37:39,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:39,703 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9047#true} {9098#(= main_~x~0 1)} #58#return; {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {9098#(= main_~x~0 1)} assume !!(~x~0 <= ~X~0); {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,703 INFO L290 TraceCheckUtils]: 24: Hoare triple {9098#(= main_~x~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9098#(= main_~x~0 1)} is VALID [2022-04-28 04:37:39,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {9098#(= main_~x~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9129#(= main_~x~0 2)} is VALID [2022-04-28 04:37:39,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {9129#(= main_~x~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9129#(= main_~x~0 2)} is VALID [2022-04-28 04:37:39,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {9129#(= main_~x~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9136#(and (= (* 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-28 04:37:39,705 INFO L272 TraceCheckUtils]: 28: Hoare triple {9136#(and (= (* 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)); {9047#true} is VALID [2022-04-28 04:37:39,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {9047#true} ~cond := #in~cond; {9143#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:37:39,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {9143#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:39,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:39,707 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} {9136#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {9154#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} is VALID [2022-04-28 04:37:39,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {9154#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {9154#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} is VALID [2022-04-28 04:37:39,708 INFO L290 TraceCheckUtils]: 34: Hoare triple {9154#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9161#(and (= main_~x~0 2) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:37:39,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {9161#(and (= main_~x~0 2) (= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 04:37:39,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 04:37:41,711 WARN L290 TraceCheckUtils]: 37: Hoare triple {9165#(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)))) (= (+ (- 1) main_~x~0) 2))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9172#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) main_~yx~0))} is UNKNOWN [2022-04-28 04:37:41,713 INFO L272 TraceCheckUtils]: 38: Hoare triple {9172#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) 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)); {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:37:41,714 INFO L290 TraceCheckUtils]: 39: Hoare triple {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:37:41,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9048#false} is VALID [2022-04-28 04:37:41,714 INFO L290 TraceCheckUtils]: 41: Hoare triple {9048#false} assume !false; {9048#false} is VALID [2022-04-28 04:37:41,714 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:37:41,714 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:37:45,047 INFO L290 TraceCheckUtils]: 41: Hoare triple {9048#false} assume !false; {9048#false} is VALID [2022-04-28 04:37:45,048 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9048#false} is VALID [2022-04-28 04:37:45,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9180#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:37:45,049 INFO L272 TraceCheckUtils]: 38: Hoare triple {9196#(= (+ (* 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)); {9176#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:37:45,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {9200#(= (+ (* 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 !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9196#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:37:45,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:37:45,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {9207#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:37:45,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {9200#(= (+ (* 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; {9207#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:37:45,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {9200#(= (+ (* 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); {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:37:45,056 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} {9217#(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)))))} #58#return; {9200#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:37:45,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:45,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {9227#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9147#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:37:45,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {9047#true} ~cond := #in~cond; {9227#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:37:45,057 INFO L272 TraceCheckUtils]: 28: Hoare triple {9217#(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)); {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 27: Hoare triple {9047#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9217#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 26: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {9047#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {9047#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {9047#true} assume !!(~x~0 <= ~X~0); {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9047#true} {9047#true} #58#return; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 21: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 04:37:45,059 INFO L272 TraceCheckUtils]: 18: Hoare triple {9047#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {9047#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 16: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {9047#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {9047#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {9047#true} assume !!(~x~0 <= ~X~0); {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9047#true} {9047#true} #58#return; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 10: Hoare triple {9047#true} assume !(0 == ~cond); {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {9047#true} ~cond := #in~cond; {9047#true} is VALID [2022-04-28 04:37:45,060 INFO L272 TraceCheckUtils]: 8: Hoare triple {9047#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {9047#true} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L290 TraceCheckUtils]: 6: Hoare triple {9047#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {9047#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {9047#true} call #t~ret9 := main(); {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9047#true} {9047#true} #62#return; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {9047#true} assume true; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {9047#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);~counter~0 := 0; {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {9047#true} call ULTIMATE.init(); {9047#true} is VALID [2022-04-28 04:37:45,061 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:37:45,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:37:45,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1261909015] [2022-04-28 04:37:45,062 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:37:45,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1072708375] [2022-04-28 04:37:45,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1072708375] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:37:45,062 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:37:45,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 04:37:45,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:37:45,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1274604500] [2022-04-28 04:37:45,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1274604500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:37:45,063 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:37:45,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:37:45,063 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1245895070] [2022-04-28 04:37:45,063 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:37:45,063 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 04:37:45,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:37:45,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:37:47,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:37:47,108 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:37:47,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:47,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:37:47,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:37:47,109 INFO L87 Difference]: Start difference. First operand 106 states and 117 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:04,388 WARN L232 SmtUtils]: Spent 15.96s on a formula simplification. DAG size of input: 48 DAG size of output: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:38:07,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:07,815 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-28 04:38:07,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:38:07,815 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-28 04:38:07,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:38:07,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:07,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 04:38:07,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:07,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 04:38:07,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 04:38:09,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:09,903 INFO L225 Difference]: With dead ends: 150 [2022-04-28 04:38:09,903 INFO L226 Difference]: Without dead ends: 148 [2022-04-28 04:38:09,904 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 17.0s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:38:09,904 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 20 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 360 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 366 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 360 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:38:09,904 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 200 Invalid, 366 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:38:09,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-28 04:38:10,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-28 04:38:10,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:38:10,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:38:10,011 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:38:10,011 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:38:10,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:10,014 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-28 04:38:10,014 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-28 04:38:10,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:10,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:10,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-28 04:38:10,015 INFO L87 Difference]: Start difference. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-28 04:38:10,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:10,018 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-28 04:38:10,018 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-28 04:38:10,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:10,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:10,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:38:10,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:38:10,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:38:10,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-28 04:38:10,021 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-28 04:38:10,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:38:10,022 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-28 04:38:10,022 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:10,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-28 04:38:16,320 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 116 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:16,320 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-28 04:38:16,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 04:38:16,321 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:38:16,321 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:38:16,339 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 04:38:16,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 04:38:16,532 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:38:16,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:38:16,532 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-28 04:38:16,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:16,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [363725664] [2022-04-28 04:38:16,623 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:38:16,623 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:38:16,623 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:38:16,623 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-28 04:38:16,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:38:16,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1599882937] [2022-04-28 04:38:16,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:38:16,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:38:16,634 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:38:16,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1872006782] [2022-04-28 04:38:16,634 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:38:16,634 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:38:16,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:38:16,635 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:38:16,636 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 04:38:16,676 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:38:16,676 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:38:16,676 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 04:38:16,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:38:16,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:38:16,914 INFO L272 TraceCheckUtils]: 0: Hoare triple {10137#true} call ULTIMATE.init(); {10137#true} is VALID [2022-04-28 04:38:16,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {10137#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);~counter~0 := 0; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 04:38:16,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {10145#(<= ~counter~0 0)} assume true; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 04:38:16,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10145#(<= ~counter~0 0)} {10137#true} #62#return; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 04:38:16,916 INFO L272 TraceCheckUtils]: 4: Hoare triple {10145#(<= ~counter~0 0)} call #t~ret9 := main(); {10145#(<= ~counter~0 0)} is VALID [2022-04-28 04:38:16,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {10145#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10145#(<= ~counter~0 0)} is VALID [2022-04-28 04:38:16,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {10145#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {10161#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,918 INFO L272 TraceCheckUtils]: 8: Hoare triple {10161#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {10161#(<= ~counter~0 1)} ~cond := #in~cond; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,918 INFO L290 TraceCheckUtils]: 10: Hoare triple {10161#(<= ~counter~0 1)} assume !(0 == ~cond); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {10161#(<= ~counter~0 1)} assume true; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,919 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10161#(<= ~counter~0 1)} {10161#(<= ~counter~0 1)} #58#return; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {10161#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {10161#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {10161#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10161#(<= ~counter~0 1)} is VALID [2022-04-28 04:38:16,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {10161#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,921 INFO L290 TraceCheckUtils]: 17: Hoare triple {10192#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,921 INFO L272 TraceCheckUtils]: 18: Hoare triple {10192#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {10192#(<= ~counter~0 2)} ~cond := #in~cond; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {10192#(<= ~counter~0 2)} assume !(0 == ~cond); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {10192#(<= ~counter~0 2)} assume true; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,923 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10192#(<= ~counter~0 2)} {10192#(<= ~counter~0 2)} #58#return; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {10192#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {10192#(<= ~counter~0 2)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,923 INFO L290 TraceCheckUtils]: 25: Hoare triple {10192#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10192#(<= ~counter~0 2)} is VALID [2022-04-28 04:38:16,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {10192#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {10223#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,925 INFO L272 TraceCheckUtils]: 28: Hoare triple {10223#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {10223#(<= ~counter~0 3)} ~cond := #in~cond; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,925 INFO L290 TraceCheckUtils]: 30: Hoare triple {10223#(<= ~counter~0 3)} assume !(0 == ~cond); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {10223#(<= ~counter~0 3)} assume true; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,926 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10223#(<= ~counter~0 3)} {10223#(<= ~counter~0 3)} #58#return; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,926 INFO L290 TraceCheckUtils]: 33: Hoare triple {10223#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {10223#(<= ~counter~0 3)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {10223#(<= ~counter~0 3)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10223#(<= ~counter~0 3)} is VALID [2022-04-28 04:38:16,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {10223#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10254#(<= |main_#t~post6| 3)} is VALID [2022-04-28 04:38:16,928 INFO L290 TraceCheckUtils]: 37: Hoare triple {10254#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L290 TraceCheckUtils]: 38: Hoare triple {10138#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L272 TraceCheckUtils]: 39: Hoare triple {10138#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)); {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L290 TraceCheckUtils]: 40: Hoare triple {10138#false} ~cond := #in~cond; {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L290 TraceCheckUtils]: 41: Hoare triple {10138#false} assume 0 == ~cond; {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L290 TraceCheckUtils]: 42: Hoare triple {10138#false} assume !false; {10138#false} is VALID [2022-04-28 04:38:16,928 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 04:38:16,928 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:38:17,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {10138#false} assume !false; {10138#false} is VALID [2022-04-28 04:38:17,193 INFO L290 TraceCheckUtils]: 41: Hoare triple {10138#false} assume 0 == ~cond; {10138#false} is VALID [2022-04-28 04:38:17,193 INFO L290 TraceCheckUtils]: 40: Hoare triple {10138#false} ~cond := #in~cond; {10138#false} is VALID [2022-04-28 04:38:17,193 INFO L272 TraceCheckUtils]: 39: Hoare triple {10138#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)); {10138#false} is VALID [2022-04-28 04:38:17,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {10138#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10138#false} is VALID [2022-04-28 04:38:17,193 INFO L290 TraceCheckUtils]: 37: Hoare triple {10288#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {10138#false} is VALID [2022-04-28 04:38:17,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {10292#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10288#(< |main_#t~post6| 50)} is VALID [2022-04-28 04:38:17,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {10292#(< ~counter~0 50)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {10292#(< ~counter~0 50)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,194 INFO L290 TraceCheckUtils]: 33: Hoare triple {10292#(< ~counter~0 50)} assume !!(~x~0 <= ~X~0); {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,195 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10137#true} {10292#(< ~counter~0 50)} #58#return; {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 04:38:17,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 04:38:17,195 INFO L290 TraceCheckUtils]: 29: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 04:38:17,195 INFO L272 TraceCheckUtils]: 28: Hoare triple {10292#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 04:38:17,196 INFO L290 TraceCheckUtils]: 27: Hoare triple {10292#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,197 INFO L290 TraceCheckUtils]: 26: Hoare triple {10323#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10292#(< ~counter~0 50)} is VALID [2022-04-28 04:38:17,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {10323#(< ~counter~0 49)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {10323#(< ~counter~0 49)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {10323#(< ~counter~0 49)} assume !!(~x~0 <= ~X~0); {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,198 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10137#true} {10323#(< ~counter~0 49)} #58#return; {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,198 INFO L290 TraceCheckUtils]: 21: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 04:38:17,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 04:38:17,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 04:38:17,198 INFO L272 TraceCheckUtils]: 18: Hoare triple {10323#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 04:38:17,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {10323#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,199 INFO L290 TraceCheckUtils]: 16: Hoare triple {10354#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10323#(< ~counter~0 49)} is VALID [2022-04-28 04:38:17,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {10354#(< ~counter~0 48)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {10354#(< ~counter~0 48)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {10354#(< ~counter~0 48)} assume !!(~x~0 <= ~X~0); {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,200 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10137#true} {10354#(< ~counter~0 48)} #58#return; {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {10137#true} assume true; {10137#true} is VALID [2022-04-28 04:38:17,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {10137#true} assume !(0 == ~cond); {10137#true} is VALID [2022-04-28 04:38:17,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {10137#true} ~cond := #in~cond; {10137#true} is VALID [2022-04-28 04:38:17,201 INFO L272 TraceCheckUtils]: 8: Hoare triple {10354#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10137#true} is VALID [2022-04-28 04:38:17,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {10354#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {10385#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10354#(< ~counter~0 48)} is VALID [2022-04-28 04:38:17,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {10385#(< ~counter~0 47)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10385#(< ~counter~0 47)} is VALID [2022-04-28 04:38:17,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {10385#(< ~counter~0 47)} call #t~ret9 := main(); {10385#(< ~counter~0 47)} is VALID [2022-04-28 04:38:17,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10385#(< ~counter~0 47)} {10137#true} #62#return; {10385#(< ~counter~0 47)} is VALID [2022-04-28 04:38:17,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {10385#(< ~counter~0 47)} assume true; {10385#(< ~counter~0 47)} is VALID [2022-04-28 04:38:17,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {10137#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);~counter~0 := 0; {10385#(< ~counter~0 47)} is VALID [2022-04-28 04:38:17,203 INFO L272 TraceCheckUtils]: 0: Hoare triple {10137#true} call ULTIMATE.init(); {10137#true} is VALID [2022-04-28 04:38:17,204 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 04:38:17,204 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:38:17,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1599882937] [2022-04-28 04:38:17,204 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:38:17,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1872006782] [2022-04-28 04:38:17,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1872006782] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:38:17,204 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:38:17,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 04:38:17,204 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:38:17,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [363725664] [2022-04-28 04:38:17,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [363725664] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:38:17,205 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:38:17,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:38:17,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1816947063] [2022-04-28 04:38:17,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:38:17,205 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-28 04:38:17,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:38:17,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:17,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:17,237 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:38:17,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:17,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:38:17,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:38:17,238 INFO L87 Difference]: Start difference. First operand 107 states and 119 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:17,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:17,558 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-28 04:38:17,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:38:17,558 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-28 04:38:17,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:38:17,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:17,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 04:38:17,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:17,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 04:38:17,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-28 04:38:17,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:17,610 INFO L225 Difference]: With dead ends: 131 [2022-04-28 04:38:17,610 INFO L226 Difference]: Without dead ends: 123 [2022-04-28 04:38:17,610 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:38:17,611 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 10 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:38:17,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 92 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:38:17,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-28 04:38:17,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-28 04:38:17,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:38:17,745 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:17,746 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:17,746 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:17,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:17,748 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-28 04:38:17,748 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-28 04:38:17,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:17,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:17,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-28 04:38:17,749 INFO L87 Difference]: Start difference. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-28 04:38:17,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:17,751 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-28 04:38:17,751 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-28 04:38:17,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:17,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:17,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:38:17,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:38:17,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:38:17,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-28 04:38:17,754 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-28 04:38:17,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:38:17,755 INFO L495 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-28 04:38:17,755 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:38:17,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-28 04:38:28,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 127 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:28,072 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-28 04:38:28,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:38:28,072 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:38:28,072 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:38:28,089 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 04:38:28,279 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 04:38:28,279 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:38:28,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:38:28,280 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-28 04:38:28,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:28,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [933301448] [2022-04-28 04:38:28,368 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:38:28,368 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:38:28,369 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:38:28,369 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-28 04:38:28,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:38:28,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1885451483] [2022-04-28 04:38:28,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:38:28,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:38:28,378 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:38:28,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2115942610] [2022-04-28 04:38:28,378 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:38:28,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:38:28,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:38:28,381 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:38:28,381 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 04:38:28,422 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:38:28,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:38:28,422 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 04:38:28,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:38:28,438 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:38:30,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {11160#true} call ULTIMATE.init(); {11160#true} is VALID [2022-04-28 04:38:30,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {11160#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);~counter~0 := 0; {11160#true} is VALID [2022-04-28 04:38:30,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:30,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11160#true} {11160#true} #62#return; {11160#true} is VALID [2022-04-28 04:38:30,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {11160#true} call #t~ret9 := main(); {11160#true} is VALID [2022-04-28 04:38:30,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {11160#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:38:30,730 INFO L290 TraceCheckUtils]: 6: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:38:30,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:38:30,730 INFO L272 TraceCheckUtils]: 8: Hoare triple {11180#(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)); {11160#true} is VALID [2022-04-28 04:38:30,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:30,730 INFO L290 TraceCheckUtils]: 10: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:30,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:30,731 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11160#true} {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:38:30,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11180#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:38:30,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {11180#(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; {11208#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-28 04:38:30,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {11208#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 04:38:30,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 04:38:30,734 INFO L290 TraceCheckUtils]: 17: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 04:38:30,734 INFO L272 TraceCheckUtils]: 18: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~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)); {11160#true} is VALID [2022-04-28 04:38:30,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:30,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:30,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:30,735 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11160#true} {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #58#return; {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 04:38:30,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 04:38:30,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {11212#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11240#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-28 04:38:30,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {11240#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,738 INFO L290 TraceCheckUtils]: 26: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,738 INFO L272 TraceCheckUtils]: 28: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 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)); {11160#true} is VALID [2022-04-28 04:38:30,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:30,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:30,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:30,739 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11160#true} {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #58#return; {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,740 INFO L290 TraceCheckUtils]: 34: Hoare triple {11244#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11272#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 04:38:30,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {11272#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 04:38:30,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 04:38:30,742 INFO L290 TraceCheckUtils]: 37: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 04:38:30,742 INFO L272 TraceCheckUtils]: 38: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) 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)); {11160#true} is VALID [2022-04-28 04:38:30,742 INFO L290 TraceCheckUtils]: 39: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:30,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:30,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:30,743 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11160#true} {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #58#return; {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 04:38:30,744 INFO L290 TraceCheckUtils]: 43: Hoare triple {11276#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {11161#false} is VALID [2022-04-28 04:38:30,744 INFO L290 TraceCheckUtils]: 44: Hoare triple {11161#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11161#false} is VALID [2022-04-28 04:38:30,745 INFO L272 TraceCheckUtils]: 45: Hoare triple {11161#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)); {11161#false} is VALID [2022-04-28 04:38:30,745 INFO L290 TraceCheckUtils]: 46: Hoare triple {11161#false} ~cond := #in~cond; {11161#false} is VALID [2022-04-28 04:38:30,745 INFO L290 TraceCheckUtils]: 47: Hoare triple {11161#false} assume 0 == ~cond; {11161#false} is VALID [2022-04-28 04:38:30,745 INFO L290 TraceCheckUtils]: 48: Hoare triple {11161#false} assume !false; {11161#false} is VALID [2022-04-28 04:38:30,745 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:38:30,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:38:31,283 INFO L290 TraceCheckUtils]: 48: Hoare triple {11161#false} assume !false; {11161#false} is VALID [2022-04-28 04:38:31,283 INFO L290 TraceCheckUtils]: 47: Hoare triple {11161#false} assume 0 == ~cond; {11161#false} is VALID [2022-04-28 04:38:31,283 INFO L290 TraceCheckUtils]: 46: Hoare triple {11161#false} ~cond := #in~cond; {11161#false} is VALID [2022-04-28 04:38:31,283 INFO L272 TraceCheckUtils]: 45: Hoare triple {11161#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)); {11161#false} is VALID [2022-04-28 04:38:31,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {11161#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11161#false} is VALID [2022-04-28 04:38:31,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {11331#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11161#false} is VALID [2022-04-28 04:38:31,284 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11160#true} {11331#(<= main_~x~0 main_~X~0)} #58#return; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:31,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:31,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:31,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:31,284 INFO L272 TraceCheckUtils]: 38: Hoare triple {11331#(<= 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)); {11160#true} is VALID [2022-04-28 04:38:31,285 INFO L290 TraceCheckUtils]: 37: Hoare triple {11331#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:31,285 INFO L290 TraceCheckUtils]: 36: Hoare triple {11331#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:31,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {11356#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11331#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:31,286 INFO L290 TraceCheckUtils]: 34: Hoare triple {11360#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11356#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:31,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:38:31,287 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11160#true} {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:38:31,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:31,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:31,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:31,287 INFO L272 TraceCheckUtils]: 28: Hoare triple {11360#(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)); {11160#true} is VALID [2022-04-28 04:38:31,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:38:31,288 INFO L290 TraceCheckUtils]: 26: Hoare triple {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:38:31,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {11388#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11360#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:38:31,289 INFO L290 TraceCheckUtils]: 24: Hoare triple {11392#(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; {11388#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:31,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {11392#(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); {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:38:31,290 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11160#true} {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #58#return; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:38:31,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:31,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:31,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:31,291 INFO L272 TraceCheckUtils]: 18: Hoare triple {11392#(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)); {11160#true} is VALID [2022-04-28 04:38:31,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:38:31,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:38:31,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {11420#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11392#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:38:31,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11420#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:31,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 04:38:31,294 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11160#true} {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #58#return; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 04:38:31,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:31,294 INFO L290 TraceCheckUtils]: 10: Hoare triple {11160#true} assume !(0 == ~cond); {11160#true} is VALID [2022-04-28 04:38:31,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {11160#true} ~cond := #in~cond; {11160#true} is VALID [2022-04-28 04:38:31,294 INFO L272 TraceCheckUtils]: 8: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~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)); {11160#true} is VALID [2022-04-28 04:38:31,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 04:38:31,295 INFO L290 TraceCheckUtils]: 6: Hoare triple {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 04:38:31,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {11160#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11424#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 04:38:31,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {11160#true} call #t~ret9 := main(); {11160#true} is VALID [2022-04-28 04:38:31,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11160#true} {11160#true} #62#return; {11160#true} is VALID [2022-04-28 04:38:31,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {11160#true} assume true; {11160#true} is VALID [2022-04-28 04:38:31,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {11160#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);~counter~0 := 0; {11160#true} is VALID [2022-04-28 04:38:31,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {11160#true} call ULTIMATE.init(); {11160#true} is VALID [2022-04-28 04:38:31,297 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:38:31,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:38:31,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1885451483] [2022-04-28 04:38:31,297 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:38:31,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2115942610] [2022-04-28 04:38:31,297 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2115942610] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:38:31,297 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:38:31,297 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 04:38:31,297 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:38:31,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [933301448] [2022-04-28 04:38:31,297 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [933301448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:38:31,297 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:38:31,297 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:38:31,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2002290077] [2022-04-28 04:38:31,298 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:38:31,298 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 04:38:31,298 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:38:31,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:31,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:31,332 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:38:31,332 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:31,332 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:38:31,332 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:38:31,332 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:32,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:32,517 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-28 04:38:32,517 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:38:32,517 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 04:38:32,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:38:32,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:32,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 04:38:32,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:32,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 04:38:32,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-28 04:38:32,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:32,576 INFO L225 Difference]: With dead ends: 136 [2022-04-28 04:38:32,576 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 04:38:32,577 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:38:32,578 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 3 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 215 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:38:32,578 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 138 Invalid, 215 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:38:32,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 04:38:32,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-28 04:38:32,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:38:32,728 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:32,728 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:32,728 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:32,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:32,731 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 04:38:32,731 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 04:38:32,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:32,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:32,731 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-28 04:38:32,732 INFO L87 Difference]: Start difference. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-28 04:38:32,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:32,734 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 04:38:32,734 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 04:38:32,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:32,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:32,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:38:32,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:38:32,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:32,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-28 04:38:32,737 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-28 04:38:32,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:38:32,737 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-28 04:38:32,737 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:32,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-28 04:38:45,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 132 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:45,081 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-28 04:38:45,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:38:45,081 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:38:45,082 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:38:45,097 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 04:38:45,282 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 04:38:45,282 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:38:45,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:38:45,283 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-28 04:38:45,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:45,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2064495903] [2022-04-28 04:38:45,397 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:38:45,397 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:38:45,397 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:38:45,398 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-28 04:38:45,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:38:45,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [165597993] [2022-04-28 04:38:45,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:38:45,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:38:45,407 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:38:45,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1912393338] [2022-04-28 04:38:45,408 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:38:45,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:38:45,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:38:45,412 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:38:45,419 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 04:38:45,476 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:38:45,477 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:38:45,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 04:38:45,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:38:45,489 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:38:47,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {12247#true} call ULTIMATE.init(); {12247#true} is VALID [2022-04-28 04:38:47,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {12247#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);~counter~0 := 0; {12247#true} is VALID [2022-04-28 04:38:47,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12247#true} {12247#true} #62#return; {12247#true} is VALID [2022-04-28 04:38:47,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {12247#true} call #t~ret9 := main(); {12247#true} is VALID [2022-04-28 04:38:47,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {12247#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:38:47,321 INFO L290 TraceCheckUtils]: 6: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:38:47,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:38:47,322 INFO L272 TraceCheckUtils]: 8: Hoare triple {12267#(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)); {12247#true} is VALID [2022-04-28 04:38:47,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,322 INFO L290 TraceCheckUtils]: 10: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,322 INFO L290 TraceCheckUtils]: 11: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,323 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12247#true} {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:38:47,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {12267#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:38:47,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {12267#(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; {12295#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} is VALID [2022-04-28 04:38:47,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {12295#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 04:38:47,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 04:38:47,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 04:38:47,326 INFO L272 TraceCheckUtils]: 18: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 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)); {12247#true} is VALID [2022-04-28 04:38:47,326 INFO L290 TraceCheckUtils]: 19: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,326 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12247#true} {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #58#return; {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 04:38:47,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-28 04:38:47,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {12299#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12327#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {12327#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,329 INFO L272 TraceCheckUtils]: 28: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (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)); {12247#true} is VALID [2022-04-28 04:38:47,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12247#true} {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {12331#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,332 INFO L290 TraceCheckUtils]: 36: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,332 INFO L272 TraceCheckUtils]: 38: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (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)); {12247#true} is VALID [2022-04-28 04:38:47,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,332 INFO L290 TraceCheckUtils]: 41: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,333 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12247#true} {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:38:47,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {12362#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~x~0 <= ~X~0); {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {12248#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L272 TraceCheckUtils]: 45: Hoare triple {12248#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)); {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L290 TraceCheckUtils]: 46: Hoare triple {12248#false} ~cond := #in~cond; {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L290 TraceCheckUtils]: 47: Hoare triple {12248#false} assume 0 == ~cond; {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L290 TraceCheckUtils]: 48: Hoare triple {12248#false} assume !false; {12248#false} is VALID [2022-04-28 04:38:47,334 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:38:47,334 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:38:47,746 INFO L290 TraceCheckUtils]: 48: Hoare triple {12248#false} assume !false; {12248#false} is VALID [2022-04-28 04:38:47,746 INFO L290 TraceCheckUtils]: 47: Hoare triple {12248#false} assume 0 == ~cond; {12248#false} is VALID [2022-04-28 04:38:47,746 INFO L290 TraceCheckUtils]: 46: Hoare triple {12248#false} ~cond := #in~cond; {12248#false} is VALID [2022-04-28 04:38:47,746 INFO L272 TraceCheckUtils]: 45: Hoare triple {12248#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)); {12248#false} is VALID [2022-04-28 04:38:47,746 INFO L290 TraceCheckUtils]: 44: Hoare triple {12248#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12248#false} is VALID [2022-04-28 04:38:47,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {12417#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12248#false} is VALID [2022-04-28 04:38:47,747 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12247#true} {12417#(<= main_~x~0 main_~X~0)} #58#return; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:47,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,747 INFO L290 TraceCheckUtils]: 40: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,748 INFO L272 TraceCheckUtils]: 38: Hoare triple {12417#(<= 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)); {12247#true} is VALID [2022-04-28 04:38:47,748 INFO L290 TraceCheckUtils]: 37: Hoare triple {12417#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:47,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {12417#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:47,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12417#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:38:47,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,750 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12247#true} {12442#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,751 INFO L290 TraceCheckUtils]: 29: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,751 INFO L272 TraceCheckUtils]: 28: Hoare triple {12442#(<= (+ 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)); {12247#true} is VALID [2022-04-28 04:38:47,751 INFO L290 TraceCheckUtils]: 27: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {12442#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {12473#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12442#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:38:47,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {12477#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12473#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-28 04:38:47,753 INFO L290 TraceCheckUtils]: 23: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:47,753 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12247#true} {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:47,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,753 INFO L272 TraceCheckUtils]: 18: Hoare triple {12477#(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)); {12247#true} is VALID [2022-04-28 04:38:47,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:47,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:47,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {12505#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12477#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:38:47,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {12509#(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; {12505#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,756 INFO L290 TraceCheckUtils]: 13: Hoare triple {12509#(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); {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,757 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12247#true} {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,757 INFO L290 TraceCheckUtils]: 11: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {12247#true} assume !(0 == ~cond); {12247#true} is VALID [2022-04-28 04:38:47,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {12247#true} ~cond := #in~cond; {12247#true} is VALID [2022-04-28 04:38:47,757 INFO L272 TraceCheckUtils]: 8: Hoare triple {12509#(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)); {12247#true} is VALID [2022-04-28 04:38:47,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {12247#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12509#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:38:47,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {12247#true} call #t~ret9 := main(); {12247#true} is VALID [2022-04-28 04:38:47,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12247#true} {12247#true} #62#return; {12247#true} is VALID [2022-04-28 04:38:47,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {12247#true} assume true; {12247#true} is VALID [2022-04-28 04:38:47,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {12247#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);~counter~0 := 0; {12247#true} is VALID [2022-04-28 04:38:47,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {12247#true} call ULTIMATE.init(); {12247#true} is VALID [2022-04-28 04:38:47,759 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:38:47,759 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:38:47,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [165597993] [2022-04-28 04:38:47,759 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:38:47,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1912393338] [2022-04-28 04:38:47,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1912393338] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:38:47,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:38:47,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 04:38:47,760 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:38:47,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2064495903] [2022-04-28 04:38:47,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2064495903] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:38:47,760 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:38:47,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:38:47,760 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1947200726] [2022-04-28 04:38:47,760 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:38:47,761 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 04:38:47,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:38:47,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:47,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:47,800 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:38:47,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:47,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:38:47,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:38:47,800 INFO L87 Difference]: Start difference. First operand 125 states and 138 transitions. Second operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:48,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:48,815 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-28 04:38:48,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:38:48,816 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-28 04:38:48,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:38:48,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:48,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 04:38:48,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:48,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 04:38:48,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 04:38:48,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:48,891 INFO L225 Difference]: With dead ends: 138 [2022-04-28 04:38:48,892 INFO L226 Difference]: Without dead ends: 130 [2022-04-28 04:38:48,892 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:38:48,892 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:38:48,893 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 126 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:38:48,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-28 04:38:49,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-28 04:38:49,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:38:49,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:49,093 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:49,093 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:49,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:49,098 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-28 04:38:49,098 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-28 04:38:49,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:49,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:49,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-28 04:38:49,099 INFO L87 Difference]: Start difference. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-28 04:38:49,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:38:49,101 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-28 04:38:49,101 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-28 04:38:49,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:38:49,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:38:49,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:38:49,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:38:49,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:38:49,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-28 04:38:49,104 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-28 04:38:49,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:38:49,104 INFO L495 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-28 04:38:49,104 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:38:49,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-28 04:38:59,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 130 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 04:38:59,450 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-28 04:38:59,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:38:59,450 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:38:59,450 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:38:59,468 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 04:38:59,651 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:38:59,651 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:38:59,651 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:38:59,651 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-28 04:38:59,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:38:59,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1539972104] [2022-04-28 04:38:59,734 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 04:38:59,735 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 04:38:59,735 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 04:38:59,735 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-28 04:38:59,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:38:59,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1528508103] [2022-04-28 04:38:59,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:38:59,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:38:59,747 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:38:59,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [471382944] [2022-04-28 04:38:59,747 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:38:59,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:38:59,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:38:59,748 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:38:59,754 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 04:38:59,806 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:38:59,806 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:38:59,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 04:38:59,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:38:59,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:16,544 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:26,579 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:32,603 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:50,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {13334#true} call ULTIMATE.init(); {13334#true} is VALID [2022-04-28 04:39:50,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {13334#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);~counter~0 := 0; {13334#true} is VALID [2022-04-28 04:39:50,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 04:39:50,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13334#true} {13334#true} #62#return; {13334#true} is VALID [2022-04-28 04:39:50,246 INFO L272 TraceCheckUtils]: 4: Hoare triple {13334#true} call #t~ret9 := main(); {13334#true} is VALID [2022-04-28 04:39:50,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {13334#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:50,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:50,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:50,248 INFO L272 TraceCheckUtils]: 8: Hoare triple {13354#(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)); {13334#true} is VALID [2022-04-28 04:39:50,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 04:39:50,248 INFO L290 TraceCheckUtils]: 10: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 04:39:50,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 04:39:50,249 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13334#true} {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} #58#return; {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:50,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {13354#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13379#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:50,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {13379#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,256 INFO L272 TraceCheckUtils]: 18: Hoare triple {13383#(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)); {13334#true} is VALID [2022-04-28 04:39:50,256 INFO L290 TraceCheckUtils]: 19: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 04:39:50,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 04:39:50,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 04:39:50,257 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13334#true} {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,259 INFO L290 TraceCheckUtils]: 26: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,260 INFO L272 TraceCheckUtils]: 28: Hoare triple {13383#(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)); {13334#true} is VALID [2022-04-28 04:39:50,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {13334#true} ~cond := #in~cond; {13334#true} is VALID [2022-04-28 04:39:50,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {13334#true} assume !(0 == ~cond); {13334#true} is VALID [2022-04-28 04:39:50,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {13334#true} assume true; {13334#true} is VALID [2022-04-28 04:39:50,261 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13334#true} {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {13383#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13441#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,262 INFO L290 TraceCheckUtils]: 34: Hoare triple {13441#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13445#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:50,264 INFO L290 TraceCheckUtils]: 35: Hoare triple {13445#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:50,264 INFO L290 TraceCheckUtils]: 36: Hoare triple {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:50,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {13449#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 50);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13456#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:50,265 INFO L272 TraceCheckUtils]: 38: Hoare triple {13456#(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)); {13334#true} is VALID [2022-04-28 04:39:50,266 INFO L290 TraceCheckUtils]: 39: Hoare triple {13334#true} ~cond := #in~cond; {13463#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:50,266 INFO L290 TraceCheckUtils]: 40: Hoare triple {13463#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:50,266 INFO L290 TraceCheckUtils]: 41: Hoare triple {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:50,269 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13467#(not (= |__VERIFIER_assert_#in~cond| 0))} {13456#(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)))} #58#return; {13474#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:50,269 INFO L290 TraceCheckUtils]: 43: Hoare triple {13474#(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); {13478#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:52,271 WARN L290 TraceCheckUtils]: 44: Hoare triple {13478#(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; {13482#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-28 04:39:52,274 INFO L272 TraceCheckUtils]: 45: Hoare triple {13482#(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)); {13486#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:52,275 INFO L290 TraceCheckUtils]: 46: Hoare triple {13486#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13490#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:52,275 INFO L290 TraceCheckUtils]: 47: Hoare triple {13490#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13335#false} is VALID [2022-04-28 04:39:52,275 INFO L290 TraceCheckUtils]: 48: Hoare triple {13335#false} assume !false; {13335#false} is VALID [2022-04-28 04:39:52,275 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 17 proven. 25 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 04:39:52,275 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:57,353 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:43:50,425 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((aux_div_main_~v~0_57 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 Int) (aux_div_aux_mod_main_~v~0_57_59 Int) (aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (let ((.cse0 (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 1)) (.cse2 (* c_main_~X~0 c_main_~y~0)) (.cse1 (* (- 1) c_main_~Y~0))) (or (<= .cse0 aux_div_main_~v~0_57) (< (+ c_main_~X~0 1) (div (+ aux_div_aux_mod_main_~v~0_57_59 .cse1 c_main_~X~0 .cse2) c_main_~Y~0)) (let ((.cse3 (div (+ .cse1 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 c_main_~X~0 .cse2) c_main_~Y~0))) (<= (+ .cse3 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 (* .cse3 c_main_~y~0)) (+ c_main_~Y~0 (* c_main_~Y~0 .cse3) c_main_~y~0 1))) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (<= .cse0 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103) (<= (div (+ .cse1 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 c_main_~X~0 .cse2) c_main_~Y~0) c_main_~X~0) (<= (+ aux_div_main_~v~0_57 1) aux_div_aux_mod_main_~v~0_57_59) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (not (= (mod (+ .cse1 (* c_main_~X~0 (+ c_main_~y~0 1)) aux_div_main_~v~0_57) c_main_~Y~0) 0))))) (= c_main_~Y~0 0)) is different from true [2022-04-28 04:46:13,023 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~X~0_BEFORE_CALL_108 Int) (v_main_~y~0_BEFORE_CALL_47 Int) (v_main_~Y~0_BEFORE_CALL_96 Int)) (or (= v_main_~Y~0_BEFORE_CALL_96 0) (forall ((aux_div_main_~v~0_57 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 Int) (aux_div_aux_mod_main_~v~0_57_59 Int) (aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (let ((.cse3 (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 1)) (.cse1 (* v_main_~y~0_BEFORE_CALL_47 v_main_~X~0_BEFORE_CALL_108)) (.cse2 (* (- 1) v_main_~Y~0_BEFORE_CALL_96))) (or (let ((.cse0 (div (+ .cse1 .cse2 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96))) (<= (+ (* v_main_~y~0_BEFORE_CALL_47 .cse0) .cse0 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (+ v_main_~y~0_BEFORE_CALL_47 v_main_~Y~0_BEFORE_CALL_96 1 (* .cse0 v_main_~Y~0_BEFORE_CALL_96)))) (<= (div (+ .cse1 .cse2 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96) v_main_~X~0_BEFORE_CALL_108) (<= .cse3 aux_div_main_~v~0_57) (not (= (mod (+ .cse2 (* (+ v_main_~y~0_BEFORE_CALL_47 1) v_main_~X~0_BEFORE_CALL_108) aux_div_main_~v~0_57) v_main_~Y~0_BEFORE_CALL_96) 0)) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (<= .cse3 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103) (<= (+ aux_div_main_~v~0_57 1) aux_div_aux_mod_main_~v~0_57_59) (< (+ v_main_~X~0_BEFORE_CALL_108 1) (div (+ aux_div_aux_mod_main_~v~0_57_59 .cse1 .cse2 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96)) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81)))))) is different from false [2022-04-28 04:46:15,027 WARN L855 $PredicateComparison]: unable to prove that (forall ((v_main_~X~0_BEFORE_CALL_108 Int) (v_main_~y~0_BEFORE_CALL_47 Int) (v_main_~Y~0_BEFORE_CALL_96 Int)) (or (= v_main_~Y~0_BEFORE_CALL_96 0) (forall ((aux_div_main_~v~0_57 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 Int) (aux_div_aux_mod_main_~v~0_57_59 Int) (aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (let ((.cse3 (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 1)) (.cse1 (* v_main_~y~0_BEFORE_CALL_47 v_main_~X~0_BEFORE_CALL_108)) (.cse2 (* (- 1) v_main_~Y~0_BEFORE_CALL_96))) (or (let ((.cse0 (div (+ .cse1 .cse2 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96))) (<= (+ (* v_main_~y~0_BEFORE_CALL_47 .cse0) .cse0 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (+ v_main_~y~0_BEFORE_CALL_47 v_main_~Y~0_BEFORE_CALL_96 1 (* .cse0 v_main_~Y~0_BEFORE_CALL_96)))) (<= (div (+ .cse1 .cse2 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96) v_main_~X~0_BEFORE_CALL_108) (<= .cse3 aux_div_main_~v~0_57) (not (= (mod (+ .cse2 (* (+ v_main_~y~0_BEFORE_CALL_47 1) v_main_~X~0_BEFORE_CALL_108) aux_div_main_~v~0_57) v_main_~Y~0_BEFORE_CALL_96) 0)) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81) (<= .cse3 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103) (<= (+ aux_div_main_~v~0_57 1) aux_div_aux_mod_main_~v~0_57_59) (< (+ v_main_~X~0_BEFORE_CALL_108 1) (div (+ aux_div_aux_mod_main_~v~0_57_59 .cse1 .cse2 v_main_~X~0_BEFORE_CALL_108) v_main_~Y~0_BEFORE_CALL_96)) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81)))))) is different from true