/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:57:16,907 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:57:16,909 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:57:16,947 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:57:16,948 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:57:16,949 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:57:16,952 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:57:16,954 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:57:16,956 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:57:16,960 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:57:16,961 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:57:16,962 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:57:16,962 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:57:16,963 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:57:16,964 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:57:16,964 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:57:16,965 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:57:16,966 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:57:16,967 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:57:16,968 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:57:16,969 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:57:16,972 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:57:16,973 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:57:16,974 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:57:16,977 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:57:16,987 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:57:16,988 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:57:16,988 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:57:16,989 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:57:16,989 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:57:16,990 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:57:16,991 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:57:16,992 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:57:16,993 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:57:16,993 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:57:16,994 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:57:16,994 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:57:16,994 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:57:16,995 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:57:16,995 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:57:16,995 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:57:16,998 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:57:16,998 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:57:17,007 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:57:17,007 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:57:17,008 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:57:17,008 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:57:17,008 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:57:17,008 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:57:17,008 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:57:17,008 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:57:17,009 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:57:17,009 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:57:17,010 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:57:17,010 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 10:57:17,235 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:57:17,253 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:57:17,255 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:57:17,256 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:57:17,256 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:57:17,257 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c [2022-04-08 10:57:17,339 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab369a3e/204dc763e50d428db9abfe0ab2bbf5ee/FLAGc4e9b582f [2022-04-08 10:57:17,682 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:57:17,682 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c [2022-04-08 10:57:17,687 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab369a3e/204dc763e50d428db9abfe0ab2bbf5ee/FLAGc4e9b582f [2022-04-08 10:57:18,100 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab369a3e/204dc763e50d428db9abfe0ab2bbf5ee [2022-04-08 10:57:18,102 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:57:18,103 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:57:18,105 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:57:18,105 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:57:18,108 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:57:18,109 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,110 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7b2afffe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18, skipping insertion in model container [2022-04-08 10:57:18,110 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,118 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:57:18,131 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:57:18,262 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_unwindbound100.c[597,610] [2022-04-08 10:57:18,279 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:57:18,287 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:57:18,304 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_unwindbound100.c[597,610] [2022-04-08 10:57:18,311 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:57:18,328 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:57:18,328 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18 WrapperNode [2022-04-08 10:57:18,328 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:57:18,329 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:57:18,329 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:57:18,329 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:57:18,339 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,339 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,346 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,346 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,360 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,366 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,373 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,375 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:57:18,376 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:57:18,376 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:57:18,376 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:57:18,377 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (1/1) ... [2022-04-08 10:57:18,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:57:18,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:18,419 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 10:57:18,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 10:57:18,445 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:57:18,445 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:57:18,445 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:57:18,445 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 10:57:18,445 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:57:18,446 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:57:18,446 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:57:18,447 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:57:18,447 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:57:18,447 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:57:18,447 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:57:18,447 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:57:18,501 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:57:18,502 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:57:18,689 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:57:18,697 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:57:18,697 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 10:57:18,698 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:57:18 BoogieIcfgContainer [2022-04-08 10:57:18,699 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:57:18,700 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:57:18,700 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:57:18,706 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:57:18,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:57:18" (1/3) ... [2022-04-08 10:57:18,707 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2f29abc4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:57:18, skipping insertion in model container [2022-04-08 10:57:18,707 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:57:18" (2/3) ... [2022-04-08 10:57:18,707 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2f29abc4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:57:18, skipping insertion in model container [2022-04-08 10:57:18,707 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:57:18" (3/3) ... [2022-04-08 10:57:18,708 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound100.c [2022-04-08 10:57:18,712 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:57:18,713 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:57:18,768 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:57:18,773 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:57:18,773 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:57:18,813 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-08 10:57:18,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 10:57:18,818 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:18,819 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:18,824 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:18,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:18,829 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-08 10:57:18,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:18,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [41953571] [2022-04-08 10:57:18,850 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:57:18,851 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-08 10:57:18,853 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:18,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1838775936] [2022-04-08 10:57:18,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:18,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:18,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:19,059 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:57:19,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:19,076 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-08 10:57:19,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-08 10:57:19,077 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-08 10:57:19,079 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-08 10:57:19,079 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-08 10:57:19,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-08 10:57:19,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-08 10:57:19,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-08 10:57:19,080 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-08 10:57:19,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-08 10:57:19,081 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-08 10:57:19,081 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-08 10:57:19,082 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-08 10:57:19,082 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-08 10:57:19,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-08 10:57:19,082 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-08 10:57:19,087 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:19,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1838775936] [2022-04-08 10:57:19,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1838775936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:19,088 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:19,089 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:57:19,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:19,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [41953571] [2022-04-08 10:57:19,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [41953571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:19,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:19,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:57:19,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1704594646] [2022-04-08 10:57:19,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:19,097 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-08 10:57:19,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:19,100 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-08 10:57:19,118 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-08 10:57:19,118 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 10:57:19,118 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:19,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 10:57:19,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:57:19,143 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-08 10:57:19,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:19,283 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 10:57:19,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 10:57:19,284 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-08 10:57:19,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:19,285 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-08 10:57:19,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-08 10:57:19,292 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-08 10:57:19,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-08 10:57:19,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-08 10:57:19,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:19,366 INFO L225 Difference]: With dead ends: 45 [2022-04-08 10:57:19,366 INFO L226 Difference]: Without dead ends: 21 [2022-04-08 10:57:19,369 INFO L912 BasicCegarLoop]: 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-08 10:57:19,372 INFO L913 BasicCegarLoop]: 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-08 10:57:19,373 INFO L914 BasicCegarLoop]: 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-08 10:57:19,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-08 10:57:19,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-08 10:57:19,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:19,414 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-08 10:57:19,414 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-08 10:57:19,416 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-08 10:57:19,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:19,428 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-08 10:57:19,428 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-08 10:57:19,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:19,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:19,429 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-08 10:57:19,430 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-08 10:57:19,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:19,437 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-08 10:57:19,437 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-08 10:57:19,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:19,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:19,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:19,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:19,439 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-08 10:57:19,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-08 10:57:19,442 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-08 10:57:19,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:19,443 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-08 10:57:19,444 INFO L479 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-08 10:57:19,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-08 10:57:19,482 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-08 10:57:19,483 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-08 10:57:19,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 10:57:19,486 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:19,486 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:19,486 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:57:19,486 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:19,487 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:19,487 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-08 10:57:19,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:19,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2093988522] [2022-04-08 10:57:19,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:57:19,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-08 10:57:19,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:19,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [926873062] [2022-04-08 10:57:19,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:19,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:19,522 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:19,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1607932555] [2022-04-08 10:57:19,522 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:19,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:19,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:19,524 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:19,525 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 10:57:19,580 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:57:19,581 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:19,583 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 10:57:19,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:19,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:19,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-08 10:57:19,775 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-08 10:57:19,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-08 10:57:19,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-08 10:57:19,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-08 10:57:19,777 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-08 10:57:19,778 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-08 10:57:19,779 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 < 100);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-08 10:57:19,780 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-08 10:57:19,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:19,781 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-08 10:57:19,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-08 10:57:19,781 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-08 10:57:19,782 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:57:19,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:19,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [926873062] [2022-04-08 10:57:19,782 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:19,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1607932555] [2022-04-08 10:57:19,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1607932555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:19,784 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:19,784 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:57:19,785 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:19,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2093988522] [2022-04-08 10:57:19,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2093988522] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:19,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:19,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:57:19,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1508858142] [2022-04-08 10:57:19,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:19,787 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-08 10:57:19,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:19,789 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-08 10:57:19,804 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-08 10:57:19,805 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:57:19,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:19,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:57:19,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:57:19,807 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-08 10:57:20,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:20,028 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-08 10:57:20,028 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:57:20,029 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-08 10:57:20,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:20,029 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-08 10:57:20,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 10:57:20,031 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-08 10:57:20,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 10:57:20,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-08 10:57:20,069 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-08 10:57:20,071 INFO L225 Difference]: With dead ends: 34 [2022-04-08 10:57:20,072 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 10:57:20,073 INFO L912 BasicCegarLoop]: 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-08 10:57:20,075 INFO L913 BasicCegarLoop]: 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-08 10:57:20,080 INFO L914 BasicCegarLoop]: 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-08 10:57:20,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 10:57:20,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-08 10:57:20,100 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:20,101 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-08 10:57:20,102 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-08 10:57:20,102 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-08 10:57:20,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:20,105 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-08 10:57:20,105 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 10:57:20,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:20,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:20,107 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-08 10:57:20,108 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-08 10:57:20,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:20,114 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-08 10:57:20,114 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 10:57:20,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:20,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:20,115 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:20,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:20,116 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-08 10:57:20,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-08 10:57:20,118 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-08 10:57:20,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:20,119 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-08 10:57:20,119 INFO L479 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-08 10:57:20,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-08 10:57:20,148 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-08 10:57:20,149 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-08 10:57:20,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 10:57:20,150 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:20,151 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:20,176 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 10:57:20,359 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:20,360 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:20,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:20,361 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-08 10:57:20,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:20,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1667907534] [2022-04-08 10:57:20,473 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:20,473 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:20,474 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-08 10:57:20,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:20,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [354605063] [2022-04-08 10:57:20,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:20,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:20,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:20,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [688663917] [2022-04-08 10:57:20,510 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:20,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:20,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:20,518 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:20,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 10:57:20,570 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:57:20,571 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:20,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 10:57:20,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:20,583 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:20,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-08 10:57:20,841 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-08 10:57:20,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 10:57:20,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-08 10:57:20,842 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-08 10:57:20,843 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-08 10:57:20,843 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-08 10:57:20,844 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 < 100);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-08 10:57:20,844 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-08 10:57:20,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-08 10:57:20,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-08 10:57:20,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 10:57:20,846 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-08 10:57:20,847 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-08 10:57:20,848 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-08 10:57:20,848 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-08 10:57:20,849 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-08 10:57:20,850 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 < 100);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-08 10:57:20,853 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-08 10:57:20,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:20,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-08 10:57:20,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-08 10:57:20,855 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-08 10:57:20,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:57:21,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-08 10:57:21,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-08 10:57:21,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:21,054 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-08 10:57:21,055 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 < 100);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-08 10:57:21,055 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-08 10:57:21,057 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-08 10:57:21,058 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-08 10:57:21,058 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-08 10:57:21,059 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-08 10:57:21,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 10:57:21,060 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-08 10:57:21,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-08 10:57:21,060 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-08 10:57:21,062 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 < 100);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-08 10:57:21,063 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-08 10:57:21,064 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-08 10:57:21,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-08 10:57:21,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-08 10:57:21,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 10:57:21,065 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-08 10:57:21,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-08 10:57:21,066 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-08 10:57:21,066 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:21,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [354605063] [2022-04-08 10:57:21,066 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:21,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [688663917] [2022-04-08 10:57:21,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [688663917] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:21,067 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:21,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-08 10:57:21,067 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:21,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1667907534] [2022-04-08 10:57:21,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1667907534] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:21,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:21,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:57:21,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977717105] [2022-04-08 10:57:21,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:21,068 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-08 10:57:21,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:21,069 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-08 10:57:21,095 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-08 10:57:21,096 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:57:21,096 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:21,096 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:57:21,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:57:21,097 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-08 10:57:21,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:21,472 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-08 10:57:21,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:57:21,472 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-08 10:57:21,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:21,473 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-08 10:57:21,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 10:57:21,479 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-08 10:57:21,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 10:57:21,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 10:57:21,522 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-08 10:57:21,528 INFO L225 Difference]: With dead ends: 44 [2022-04-08 10:57:21,528 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 10:57:21,529 INFO L912 BasicCegarLoop]: 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-08 10:57:21,535 INFO L913 BasicCegarLoop]: 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-08 10:57:21,535 INFO L914 BasicCegarLoop]: 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-08 10:57:21,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 10:57:21,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-08 10:57:21,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:21,550 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-08 10:57:21,550 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-08 10:57:21,550 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-08 10:57:21,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:21,553 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 10:57:21,553 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-08 10:57:21,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:21,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:21,554 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-08 10:57:21,554 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-08 10:57:21,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:21,557 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 10:57:21,557 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-08 10:57:21,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:21,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:21,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:21,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:21,558 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-08 10:57:21,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-08 10:57:21,560 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-08 10:57:21,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:21,560 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-08 10:57:21,561 INFO L479 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-08 10:57:21,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-08 10:57:21,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:21,602 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-08 10:57:21,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 10:57:21,602 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:21,603 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:21,628 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 10:57:21,823 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 10:57:21,824 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:21,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:21,824 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-08 10:57:21,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:21,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2134980260] [2022-04-08 10:57:21,895 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:21,896 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:21,896 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-08 10:57:21,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:21,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1919075643] [2022-04-08 10:57:21,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:21,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:21,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:21,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [916215783] [2022-04-08 10:57:21,910 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:21,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:21,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:21,911 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:21,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 10:57:21,964 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:57:21,964 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:21,965 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 10:57:21,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:21,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:22,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-08 10:57:22,180 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-08 10:57:22,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 10:57:22,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-08 10:57:22,181 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-08 10:57:22,184 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-08 10:57:22,185 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-08 10:57:22,185 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 < 100);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-08 10:57:22,186 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-08 10:57:22,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-08 10:57:22,186 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-08 10:57:22,186 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 10:57:22,187 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-08 10:57:22,188 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-08 10:57:22,188 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-08 10:57:22,189 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-08 10:57:22,190 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-08 10:57:22,190 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 < 100);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-08 10:57:22,191 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-08 10:57:22,192 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:22,192 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-08 10:57:22,192 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-08 10:57:22,193 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-08 10:57:22,193 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:57:22,361 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-08 10:57:22,362 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-08 10:57:22,362 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:22,363 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-08 10:57:22,364 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 < 100);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-08 10:57:22,365 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-08 10:57:22,440 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-08 10:57:22,442 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-08 10:57:22,443 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-08 10:57:22,444 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-08 10:57:22,444 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 10:57:22,444 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-08 10:57:22,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-08 10:57:22,445 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-08 10:57:22,447 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 < 100);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-08 10:57:22,447 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-08 10:57:22,449 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-08 10:57:22,449 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-08 10:57:22,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-08 10:57:22,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 10:57:22,449 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-08 10:57:22,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-08 10:57:22,450 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-08 10:57:22,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:22,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1919075643] [2022-04-08 10:57:22,450 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:22,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [916215783] [2022-04-08 10:57:22,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [916215783] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:22,451 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:22,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-08 10:57:22,451 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:22,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2134980260] [2022-04-08 10:57:22,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2134980260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:22,452 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:22,452 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:57:22,452 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [642605873] [2022-04-08 10:57:22,452 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:22,452 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-08 10:57:22,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:22,453 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-08 10:57:22,479 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-08 10:57:22,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:57:22,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:22,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:57:22,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:57:22,481 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-08 10:57:22,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:22,842 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-08 10:57:22,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:57:22,842 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-08 10:57:22,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:22,843 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-08 10:57:22,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 10:57:22,845 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-08 10:57:22,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 10:57:22,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 10:57:22,894 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-08 10:57:22,895 INFO L225 Difference]: With dead ends: 53 [2022-04-08 10:57:22,895 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 10:57:22,896 INFO L912 BasicCegarLoop]: 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-08 10:57:22,896 INFO L913 BasicCegarLoop]: 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-08 10:57:22,897 INFO L914 BasicCegarLoop]: 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-08 10:57:22,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 10:57:22,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-08 10:57:22,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:22,917 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-08 10:57:22,917 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-08 10:57:22,917 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-08 10:57:22,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:22,919 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-08 10:57:22,919 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-08 10:57:22,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:22,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:22,920 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-08 10:57:22,921 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-08 10:57:22,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:22,923 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-08 10:57:22,923 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-08 10:57:22,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:22,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:22,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:22,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:22,924 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-08 10:57:22,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-08 10:57:22,926 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-08 10:57:22,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:22,926 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-08 10:57:22,926 INFO L479 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-08 10:57:22,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-08 10:57:22,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:22,980 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-08 10:57:22,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 10:57:22,980 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:22,981 INFO L499 BasicCegarLoop]: 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-08 10:57:23,009 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-08 10:57:23,204 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:23,205 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:23,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:23,205 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-08 10:57:23,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:23,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487799371] [2022-04-08 10:57:23,274 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:23,274 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:23,274 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-08 10:57:23,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:23,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731696826] [2022-04-08 10:57:23,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:23,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:23,301 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:23,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1861292151] [2022-04-08 10:57:23,302 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:23,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:23,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:23,304 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:23,332 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 10:57:23,352 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:57:23,352 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:23,353 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:57:23,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:23,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:23,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-08 10:57:23,496 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-08 10:57:23,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 10:57:23,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 10:57:23,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-08 10:57:23,499 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-08 10:57:23,501 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-08 10:57:23,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,502 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-08 10:57:23,503 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,503 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,505 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-08 10:57:23,506 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-08 10:57:23,506 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-08 10:57:23,507 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-08 10:57:23,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-08 10:57:23,507 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-08 10:57:23,508 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-08 10:57:23,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-08 10:57:23,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-08 10:57:23,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-08 10:57:23,523 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-08 10:57:23,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:57:23,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-08 10:57:23,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-08 10:57:23,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-08 10:57:23,676 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-08 10:57:23,677 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-08 10:57:23,677 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-08 10:57:23,677 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 100)} is VALID [2022-04-08 10:57:23,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 100)} is VALID [2022-04-08 10:57:23,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 100)} 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 100)} is VALID [2022-04-08 10:57:23,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 100)} is VALID [2022-04-08 10:57:23,679 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 100)} #58#return; {1362#(< ~counter~0 100)} is VALID [2022-04-08 10:57:23,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-08 10:57:23,679 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-08 10:57:23,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-08 10:57:23,680 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 100)} 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-08 10:57:23,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 100)} is VALID [2022-04-08 10:57:23,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 100)} is VALID [2022-04-08 10:57:23,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 99)} 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 99)} is VALID [2022-04-08 10:57:23,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 99)} call #t~ret9 := main(); {1393#(< ~counter~0 99)} is VALID [2022-04-08 10:57:23,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 99)} {1269#true} #62#return; {1393#(< ~counter~0 99)} is VALID [2022-04-08 10:57:23,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 99)} assume true; {1393#(< ~counter~0 99)} is VALID [2022-04-08 10:57:23,683 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 99)} is VALID [2022-04-08 10:57:23,683 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-08 10:57:23,683 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-08 10:57:23,683 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:23,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1731696826] [2022-04-08 10:57:23,684 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:23,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1861292151] [2022-04-08 10:57:23,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1861292151] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:23,684 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:23,684 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 10:57:23,684 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:23,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487799371] [2022-04-08 10:57:23,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487799371] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:23,684 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:23,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:57:23,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [817875728] [2022-04-08 10:57:23,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:23,685 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-08 10:57:23,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:23,686 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-08 10:57:23,703 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-08 10:57:23,703 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:57:23,704 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:23,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:57:23,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 10:57:23,704 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-08 10:57:23,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:23,792 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-08 10:57:23,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:57:23,793 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-08 10:57:23,793 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:23,793 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-08 10:57:23,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 10:57:23,795 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-08 10:57:23,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 10:57:23,796 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-08 10:57:23,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:23,827 INFO L225 Difference]: With dead ends: 54 [2022-04-08 10:57:23,827 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 10:57:23,827 INFO L912 BasicCegarLoop]: 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-08 10:57:23,828 INFO L913 BasicCegarLoop]: 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-08 10:57:23,828 INFO L914 BasicCegarLoop]: 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-08 10:57:23,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 10:57:23,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-08 10:57:23,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:23,859 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-08 10:57:23,859 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-08 10:57:23,859 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-08 10:57:23,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:23,861 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-08 10:57:23,861 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 10:57:23,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:23,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:23,862 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-08 10:57:23,862 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-08 10:57:23,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:23,865 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-08 10:57:23,865 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 10:57:23,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:23,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:23,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:23,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:23,866 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-08 10:57:23,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-08 10:57:23,872 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-08 10:57:23,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:23,873 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-08 10:57:23,873 INFO L479 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-08 10:57:23,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-08 10:57:23,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:23,926 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 10:57:23,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 10:57:23,927 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:23,927 INFO L499 BasicCegarLoop]: 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-08 10:57:23,954 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 10:57:24,143 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:24,143 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:24,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:24,143 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-08 10:57:24,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:24,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2138968059] [2022-04-08 10:57:24,205 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:24,205 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:24,206 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-08 10:57:24,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:24,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915850166] [2022-04-08 10:57:24,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:24,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:24,223 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:24,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1820799594] [2022-04-08 10:57:24,224 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:24,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:24,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:24,225 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:24,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 10:57:24,282 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:57:24,282 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:24,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:57:24,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:24,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:24,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-08 10:57:24,730 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-08 10:57:24,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 10:57:24,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-08 10:57:24,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-08 10:57:24,731 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-08 10:57:24,732 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-08 10:57:24,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 100);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-08 10:57:24,733 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-08 10:57:24,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-08 10:57:24,733 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-08 10:57:24,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 10:57:24,734 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-08 10:57:24,734 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-08 10:57:24,735 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-08 10:57:24,736 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-08 10:57:24,736 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-08 10:57:24,737 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 < 100);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-08 10:57:24,737 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-08 10:57:24,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:24,737 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-08 10:57:24,738 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-08 10:57:24,739 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-08 10:57:24,740 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-08 10:57:24,742 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-08 10:57:24,743 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-08 10:57:24,743 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:24,744 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-08 10:57:24,744 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-08 10:57:24,744 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-08 10:57:24,744 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:57:25,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-08 10:57:25,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-08 10:57:25,529 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:25,530 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-08 10:57:25,531 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-08 10:57:25,532 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-08 10:57:25,533 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-08 10:57:25,534 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-08 10:57:25,534 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-08 10:57:25,538 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-08 10:57:25,538 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-08 10:57:25,540 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 < 100);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-08 10:57:25,541 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-08 10:57:25,543 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-08 10:57:25,546 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-08 10:57:25,548 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-08 10:57:25,548 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-08 10:57:25,548 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 10:57:25,548 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-08 10:57:25,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-08 10:57:25,549 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-08 10:57:25,549 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-08 10:57:25,549 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-08 10:57:25,549 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-08 10:57:25,549 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-08 10:57:25,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-08 10:57:25,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 10:57:25,550 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-08 10:57:25,550 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-08 10:57:25,551 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-08 10:57:25,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:25,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1915850166] [2022-04-08 10:57:25,551 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:25,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1820799594] [2022-04-08 10:57:25,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1820799594] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:25,551 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:25,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-08 10:57:25,552 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:25,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2138968059] [2022-04-08 10:57:25,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2138968059] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:25,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:25,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:57:25,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [796147118] [2022-04-08 10:57:25,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:25,553 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-08 10:57:25,554 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:25,554 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-08 10:57:25,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:25,584 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:57:25,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:25,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:57:25,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-08 10:57:25,586 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-08 10:57:26,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:26,194 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-08 10:57:26,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:57:26,194 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-08 10:57:26,195 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:26,195 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-08 10:57:26,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-08 10:57:26,197 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-08 10:57:26,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-08 10:57:26,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-08 10:57:26,247 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-08 10:57:26,248 INFO L225 Difference]: With dead ends: 57 [2022-04-08 10:57:26,248 INFO L226 Difference]: Without dead ends: 49 [2022-04-08 10:57:26,249 INFO L912 BasicCegarLoop]: 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-08 10:57:26,249 INFO L913 BasicCegarLoop]: 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-08 10:57:26,250 INFO L914 BasicCegarLoop]: 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-08 10:57:26,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-08 10:57:26,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-08 10:57:26,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:26,276 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-08 10:57:26,276 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-08 10:57:26,276 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-08 10:57:26,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:26,278 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 10:57:26,278 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 10:57:26,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:26,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:26,279 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-08 10:57:26,279 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-08 10:57:26,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:26,280 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 10:57:26,281 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 10:57:26,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:26,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:26,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:26,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:26,281 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-08 10:57:26,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-08 10:57:26,282 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-08 10:57:26,283 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:26,283 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-08 10:57:26,283 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (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-08 10:57:26,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-08 10:57:26,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:26,337 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-08 10:57:26,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:57:26,338 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:26,338 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:26,365 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:57:26,544 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:26,545 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:26,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:26,545 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-08 10:57:26,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:26,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1660435101] [2022-04-08 10:57:26,604 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:26,604 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:26,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-08 10:57:26,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:26,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914434969] [2022-04-08 10:57:26,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:26,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:26,622 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:26,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [673759182] [2022-04-08 10:57:26,623 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:57:26,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:26,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:26,627 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:26,647 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 10:57:26,679 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:57:26,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:26,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 10:57:26,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:26,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:27,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-08 10:57:27,095 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-08 10:57:27,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 10:57:27,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-08 10:57:27,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-08 10:57:27,096 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-08 10:57:27,096 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-08 10:57:27,097 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 < 100);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-08 10:57:27,097 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-08 10:57:27,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-08 10:57:27,097 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-08 10:57:27,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 10:57:27,098 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-08 10:57:27,099 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-08 10:57:27,100 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-08 10:57:27,100 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-08 10:57:27,101 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-08 10:57:27,106 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 < 100);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-08 10:57:27,106 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-08 10:57:27,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:27,108 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-08 10:57:27,109 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-08 10:57:27,112 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-08 10:57:27,113 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-08 10:57:27,115 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-08 10:57:27,116 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-08 10:57:27,116 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-08 10:57:27,117 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 < 100);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-08 10:57:27,119 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-08 10:57:27,120 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:27,120 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-08 10:57:27,120 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-08 10:57:27,120 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-08 10:57:27,121 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:57:29,921 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-08 10:57:29,922 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-08 10:57:29,922 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:57:29,923 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-08 10:57:29,926 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 < 100);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-08 10:57:29,927 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-08 10:57:29,929 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-08 10:57:29,930 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-08 10:57:29,930 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-08 10:57:29,932 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-08 10:57:29,932 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-08 10:57:29,932 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-08 10:57:29,933 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-08 10:57:29,933 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-08 10:57:29,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 100);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-08 10:57:29,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-08 10:57:29,934 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-08 10:57:29,934 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-08 10:57:29,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-08 10:57:29,934 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-08 10:57:29,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 10:57:29,935 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-08 10:57:29,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-08 10:57:29,935 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-08 10:57:29,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-08 10:57:29,935 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-08 10:57:29,935 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-08 10:57:29,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-08 10:57:29,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-08 10:57:29,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 10:57:29,936 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-08 10:57:29,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-08 10:57:29,938 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-08 10:57:29,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:29,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914434969] [2022-04-08 10:57:29,938 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:29,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673759182] [2022-04-08 10:57:29,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673759182] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:29,939 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:29,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 10:57:29,939 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:29,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1660435101] [2022-04-08 10:57:29,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1660435101] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:29,939 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:29,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:57:29,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060381475] [2022-04-08 10:57:29,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:29,940 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-08 10:57:29,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:29,941 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-08 10:57:29,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:29,972 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:57:29,972 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:29,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:57:29,973 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-08 10:57:29,974 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-08 10:57:30,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:30,747 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-08 10:57:30,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:57:30,747 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-08 10:57:30,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:57:30,748 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-08 10:57:30,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-08 10:57:30,750 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-08 10:57:30,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-08 10:57:30,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-08 10:57:30,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:30,809 INFO L225 Difference]: With dead ends: 63 [2022-04-08 10:57:30,810 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 10:57:30,810 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 44 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:57:30,811 INFO L913 BasicCegarLoop]: 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-08 10:57:30,811 INFO L914 BasicCegarLoop]: 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-08 10:57:30,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 10:57:30,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-08 10:57:30,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:57:30,849 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-08 10:57:30,849 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-08 10:57:30,849 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-08 10:57:30,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:30,851 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-08 10:57:30,851 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 10:57:30,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:30,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:30,852 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-08 10:57:30,852 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-08 10:57:30,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:57:30,854 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-08 10:57:30,854 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 10:57:30,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:57:30,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:57:30,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:57:30,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:57:30,856 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-08 10:57:30,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-08 10:57:30,858 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-08 10:57:30,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:57:30,859 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-08 10:57:30,860 INFO L479 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-08 10:57:30,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-08 10:57:30,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:57:30,930 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-08 10:57:30,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:57:30,930 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:57:30,930 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:57:30,957 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 10:57:31,131 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:31,131 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:57:31,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:57:31,132 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-08 10:57:31,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:31,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [42277272] [2022-04-08 10:57:31,244 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:57:31,244 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:57:31,244 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-08 10:57:31,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:57:31,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1541119244] [2022-04-08 10:57:31,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:57:31,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:57:31,256 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:57:31,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1591592383] [2022-04-08 10:57:31,257 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:57:31,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:57:31,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:57:31,258 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:57:31,268 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 10:57:31,313 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:57:31,313 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:57:31,315 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 10:57:31,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:57:31,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:57:46,495 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:57:50,576 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:57:56,610 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:58:51,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-08 10:58:51,868 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-08 10:58:51,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 10:58:51,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-08 10:58:51,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-08 10:58:51,869 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-08 10:58:51,869 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-08 10:58:51,870 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 < 100);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-08 10:58:51,870 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-08 10:58:51,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:51,870 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-08 10:58:51,871 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-08 10:58:51,871 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-08 10:58:51,872 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-08 10:58:51,872 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-08 10:58:51,873 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-08 10:58:51,873 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-08 10:58:51,874 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 < 100);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-08 10:58:51,874 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-08 10:58:51,874 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:51,874 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-08 10:58:51,875 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-08 10:58:51,876 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-08 10:58:51,876 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-08 10:58:51,877 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-08 10:58:51,879 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-08 10:58:51,880 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-08 10:58:51,883 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 < 100);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-08 10:58:51,957 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#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} is VALID [2022-04-08 10:58:51,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:51,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-08 10:58:51,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-08 10:58:51,958 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-08 10:58:51,958 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:58:58,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-08 10:58:58,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-08 10:58:58,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:58,932 INFO L272 TraceCheckUtils]: 28: Hoare triple {2874#(= (+ (* 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)); {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:58:58,933 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2874#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 10:58:58,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {2878#(= (+ (* 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; {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:58:58,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {2885#(= (+ (* (* 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; {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:58:58,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {2889#(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; {2885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 10:58:58,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {2889#(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); {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:58:58,938 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2896#(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; {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:58:58,939 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-08 10:58:58,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {2906#(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-08 10:58:58,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2906#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:58:58,939 INFO L272 TraceCheckUtils]: 18: Hoare triple {2896#(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-08 10:58:58,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2896#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 10:58:58,940 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-08 10:58:58,940 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-08 10:58:58,940 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-08 10:58:58,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-08 10:58:58,941 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-08 10:58:58,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 10:58:58,941 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-08 10:58:58,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-08 10:58:58,941 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-08 10:58:58,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-08 10:58:58,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-08 10:58:58,941 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-08 10:58:58,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-08 10:58:58,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-08 10:58:58,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 10:58:58,942 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-08 10:58:58,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-08 10:58:58,942 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-08 10:58:58,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:58:58,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1541119244] [2022-04-08 10:58:58,943 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:58:58,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1591592383] [2022-04-08 10:58:58,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1591592383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:58:58,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:58:58,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-08 10:58:58,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:58:58,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [42277272] [2022-04-08 10:58:58,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [42277272] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:58:58,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:58:58,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:58:58,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [524147285] [2022-04-08 10:58:58,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:58:58,944 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-08 10:58:58,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:58:58,944 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-08 10:58:59,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:58:59,009 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:58:59,009 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:58:59,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:58:59,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:58:59,010 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-08 10:59:01,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:01,060 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-08 10:59:01,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:59:01,060 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-08 10:59:01,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:01,060 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-08 10:59:01,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:59:01,062 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-08 10:59:01,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:59:01,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-08 10:59:03,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:03,166 INFO L225 Difference]: With dead ends: 74 [2022-04-08 10:59:03,166 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 10:59:03,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=101, Invalid=499, Unknown=0, NotChecked=0, Total=600 [2022-04-08 10:59:03,167 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 31 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:03,168 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 152 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 216 Invalid, 0 Unknown, 31 Unchecked, 0.5s Time] [2022-04-08 10:59:03,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 10:59:03,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-08 10:59:03,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:03,220 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-08 10:59:03,220 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-08 10:59:03,220 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-08 10:59:03,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:03,222 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-08 10:59:03,222 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-08 10:59:03,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:03,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:03,223 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-08 10:59:03,223 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-08 10:59:03,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:03,225 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-08 10:59:03,225 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-08 10:59:03,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:03,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:03,225 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:03,225 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:03,225 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-08 10:59:03,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-08 10:59:03,227 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-08 10:59:03,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:03,227 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-08 10:59:03,227 INFO L479 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-08 10:59:03,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-08 10:59:05,332 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:05,333 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 10:59:05,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:59:05,333 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:05,333 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:59:05,351 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:05,534 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:05,534 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:05,534 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:05,535 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-08 10:59:05,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:05,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1256052698] [2022-04-08 10:59:05,618 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:05,618 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:05,619 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-08 10:59:05,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:05,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1446831254] [2022-04-08 10:59:05,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:05,619 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:05,630 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:05,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1721430046] [2022-04-08 10:59:05,630 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:59:05,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:05,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:05,631 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:05,642 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 10:59:05,693 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:59:05,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:05,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 10:59:05,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:05,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:08,346 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:59:11,088 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-08 10:59:11,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#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; {3360#true} is VALID [2022-04-08 10:59:11,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 10:59:11,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-08 10:59:11,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-08 10:59:11,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#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; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 10:59:11,090 INFO L290 TraceCheckUtils]: 6: Hoare triple {3380#(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; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 10:59:11,090 INFO L290 TraceCheckUtils]: 7: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 10:59:11,090 INFO L272 TraceCheckUtils]: 8: Hoare triple {3380#(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)); {3360#true} is VALID [2022-04-08 10:59:11,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-08 10:59:11,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-08 10:59:11,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 10:59:11,092 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 10:59:11,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 10:59:11,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {3380#(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; {3408#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 10:59:11,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {3408#(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; {3412#(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-08 10:59:11,094 INFO L290 TraceCheckUtils]: 16: Hoare triple {3412#(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; {3412#(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-08 10:59:11,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {3412#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3419#(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-08 10:59:11,095 INFO L272 TraceCheckUtils]: 18: Hoare triple {3419#(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)); {3360#true} is VALID [2022-04-08 10:59:11,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:11,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:11,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:11,098 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3419#(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; {3437#(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-08 10:59:11,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {3437#(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); {3437#(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-08 10:59:11,100 INFO L290 TraceCheckUtils]: 24: Hoare triple {3437#(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; {3444#(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-08 10:59:11,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {3444#(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; {3448#(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-08 10:59:11,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {3448#(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; {3448#(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-08 10:59:11,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {3448#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3455#(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-08 10:59:11,107 INFO L272 TraceCheckUtils]: 28: Hoare triple {3455#(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)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:11,107 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:11,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-08 10:59:11,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-08 10:59:11,108 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-08 10:59:11,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:15,865 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-08 10:59:15,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-08 10:59:15,865 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:15,866 INFO L272 TraceCheckUtils]: 28: Hoare triple {3479#(= (+ (* 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)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:15,867 INFO L290 TraceCheckUtils]: 27: Hoare triple {3483#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3479#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 10:59:15,867 INFO L290 TraceCheckUtils]: 26: Hoare triple {3483#(= (+ (* 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; {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:59:15,869 INFO L290 TraceCheckUtils]: 25: Hoare triple {3490#(= (+ (* (* 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; {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:59:15,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {3494#(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; {3490#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 10:59:15,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#(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); {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:59:15,871 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3501#(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; {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:59:15,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:15,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:15,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:59:15,872 INFO L272 TraceCheckUtils]: 18: Hoare triple {3501#(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)); {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 17: Hoare triple {3360#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3501#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {3360#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {3360#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; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {3360#true} assume !!(~x~0 <= ~X~0); {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3360#true} #58#return; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L272 TraceCheckUtils]: 8: Hoare triple {3360#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-08 10:59:15,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {3360#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#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; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#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; {3360#true} is VALID [2022-04-08 10:59:15,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-08 10:59:15,874 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-08 10:59:15,875 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:15,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1446831254] [2022-04-08 10:59:15,875 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:15,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1721430046] [2022-04-08 10:59:15,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1721430046] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:15,875 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:15,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 10:59:15,876 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:15,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1256052698] [2022-04-08 10:59:15,876 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1256052698] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:15,876 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:15,876 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:59:15,876 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49406965] [2022-04-08 10:59:15,876 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:15,877 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-08 10:59:15,877 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:15,877 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-08 10:59:15,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:15,922 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:59:15,922 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:15,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:59:15,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:59:15,922 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-08 10:59:16,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:16,984 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-08 10:59:16,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:59:16,984 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-08 10:59:16,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:16,985 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-08 10:59:16,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:59:16,986 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-08 10:59:16,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:59:16,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-08 10:59:17,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:17,062 INFO L225 Difference]: With dead ends: 94 [2022-04-08 10:59:17,062 INFO L226 Difference]: Without dead ends: 80 [2022-04-08 10:59:17,062 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-08 10:59:17,063 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:17,063 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 166 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:59:17,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-08 10:59:17,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-08 10:59:17,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:17,135 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-08 10:59:17,135 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-08 10:59:17,135 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-08 10:59:17,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:17,139 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-08 10:59:17,139 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-08 10:59:17,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:17,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:17,140 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-08 10:59:17,140 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-08 10:59:17,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:17,142 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-08 10:59:17,142 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-08 10:59:17,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:17,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:17,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:17,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:17,143 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-08 10:59:17,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-08 10:59:17,145 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-08 10:59:17,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:17,145 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-08 10:59:17,145 INFO L479 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-08 10:59:17,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-08 10:59:17,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:17,603 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-08 10:59:17,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:59:17,604 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:17,604 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:59:17,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:17,804 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 10:59:17,805 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:17,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:17,805 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-08 10:59:17,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:17,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912450613] [2022-04-08 10:59:17,863 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:17,863 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:17,863 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-08 10:59:17,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:17,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715337378] [2022-04-08 10:59:17,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:17,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:17,873 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:17,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1909564419] [2022-04-08 10:59:17,874 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:59:17,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:17,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:17,875 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:17,883 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 10:59:17,931 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:59:17,931 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:17,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 10:59:17,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:17,942 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:18,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-08 10:59:18,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#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; {4083#true} is VALID [2022-04-08 10:59:18,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,256 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-08 10:59:18,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-08 10:59:18,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#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; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:18,257 INFO L290 TraceCheckUtils]: 6: Hoare triple {4103#(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; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:18,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:18,258 INFO L272 TraceCheckUtils]: 8: Hoare triple {4103#(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)); {4083#true} is VALID [2022-04-08 10:59:18,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 10:59:18,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 10:59:18,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,259 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:18,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {4103#(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); {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:18,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {4103#(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; {4131#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 10:59:18,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {4131#(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; {4135#(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-08 10:59:18,261 INFO L290 TraceCheckUtils]: 16: Hoare triple {4135#(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; {4135#(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-08 10:59:18,261 INFO L290 TraceCheckUtils]: 17: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4135#(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-08 10:59:18,262 INFO L272 TraceCheckUtils]: 18: Hoare triple {4135#(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)); {4083#true} is VALID [2022-04-08 10:59:18,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 10:59:18,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 10:59:18,262 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,263 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #58#return; {4135#(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-08 10:59:18,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {4135#(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); {4160#(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-08 10:59:18,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {4160#(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; {4164#(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-08 10:59:18,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {4164#(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; {4168#(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-08 10:59:18,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {4168#(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; {4168#(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-08 10:59:18,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {4168#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4175#(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-08 10:59:18,268 INFO L272 TraceCheckUtils]: 28: Hoare triple {4175#(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)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:18,268 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:18,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-08 10:59:18,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-08 10:59:18,269 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-08 10:59:18,269 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:18,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-08 10:59:18,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-08 10:59:18,648 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:18,649 INFO L272 TraceCheckUtils]: 28: Hoare triple {4199#(= (+ (* 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)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:18,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {4203#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4199#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 10:59:18,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {4203#(= (+ (* 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; {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:59:18,652 INFO L290 TraceCheckUtils]: 25: Hoare triple {4210#(= (+ (* (* 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; {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:59:18,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {4214#(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; {4210#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 10:59:18,654 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(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); {4214#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 10:59:18,655 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4218#(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; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 10:59:18,655 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 10:59:18,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 10:59:18,655 INFO L272 TraceCheckUtils]: 18: Hoare triple {4218#(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)); {4083#true} is VALID [2022-04-08 10:59:18,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {4218#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 10:59:18,656 INFO L290 TraceCheckUtils]: 16: Hoare triple {4218#(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; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 10:59:18,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {4243#(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; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 10:59:18,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {4247#(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; {4243#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-08 10:59:18,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {4247#(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); {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 10:59:18,660 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4247#(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; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 10:59:18,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 10:59:18,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 10:59:18,661 INFO L272 TraceCheckUtils]: 8: Hoare triple {4247#(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)); {4083#true} is VALID [2022-04-08 10:59:18,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {4247#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 10:59:18,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {4247#(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; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 10:59:18,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#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; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 10:59:18,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-08 10:59:18,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-08 10:59:18,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 10:59:18,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#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; {4083#true} is VALID [2022-04-08 10:59:18,678 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-08 10:59:18,678 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-08 10:59:18,679 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:18,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715337378] [2022-04-08 10:59:18,679 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:18,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1909564419] [2022-04-08 10:59:18,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1909564419] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:18,679 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:18,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-08 10:59:18,679 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:18,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912450613] [2022-04-08 10:59:18,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912450613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:18,679 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:18,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:59:18,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712557229] [2022-04-08 10:59:18,680 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:18,680 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-08 10:59:18,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:18,680 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-08 10:59:18,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:18,705 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:59:18,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:18,706 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:59:18,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-08 10:59:18,706 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-08 10:59:19,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:19,430 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-08 10:59:19,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:59:19,430 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-08 10:59:19,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:19,430 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-08 10:59:19,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-08 10:59:19,432 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-08 10:59:19,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-08 10:59:19,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-08 10:59:19,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:19,488 INFO L225 Difference]: With dead ends: 93 [2022-04-08 10:59:19,488 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 10:59:19,488 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:59:19,489 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:19,489 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 183 Invalid, 262 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:59:19,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 10:59:19,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-08 10:59:19,583 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:19,584 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-08 10:59:19,584 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-08 10:59:19,584 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-08 10:59:19,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:19,588 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-08 10:59:19,588 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-08 10:59:19,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:19,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:19,589 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-08 10:59:19,590 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-08 10:59:19,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:19,593 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-08 10:59:19,593 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-08 10:59:19,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:19,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:19,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:19,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:19,594 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-08 10:59:19,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-08 10:59:19,596 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-08 10:59:19,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:19,596 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-08 10:59:19,596 INFO L479 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-08 10:59:19,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-08 10:59:21,745 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-08 10:59:21,746 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-08 10:59:21,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 10:59:21,746 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:21,746 INFO L499 BasicCegarLoop]: 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-08 10:59:21,764 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:21,952 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 10:59:21,952 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:21,953 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:21,953 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-08 10:59:21,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:21,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1230293823] [2022-04-08 10:59:22,057 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:22,058 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:22,058 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-08 10:59:22,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:22,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2004566674] [2022-04-08 10:59:22,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:22,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:22,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:22,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [812022043] [2022-04-08 10:59:22,078 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:59:22,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:22,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:22,081 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:22,082 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 10:59:22,121 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:59:22,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:22,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:59:22,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:22,131 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:22,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-08 10:59:22,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#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; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 10:59:22,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {4844#(<= ~counter~0 0)} assume true; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 10:59:22,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4844#(<= ~counter~0 0)} {4836#true} #62#return; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 10:59:22,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {4844#(<= ~counter~0 0)} call #t~ret9 := main(); {4844#(<= ~counter~0 0)} is VALID [2022-04-08 10:59:22,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {4844#(<= ~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; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 10:59:22,314 INFO L290 TraceCheckUtils]: 6: Hoare triple {4844#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {4860#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,315 INFO L272 TraceCheckUtils]: 8: Hoare triple {4860#(<= ~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)); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#(<= ~counter~0 1)} ~cond := #in~cond; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,315 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#(<= ~counter~0 1)} assume !(0 == ~cond); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {4860#(<= ~counter~0 1)} assume true; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,316 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4860#(<= ~counter~0 1)} {4860#(<= ~counter~0 1)} #58#return; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {4860#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {4860#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {4860#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 10:59:22,318 INFO L290 TraceCheckUtils]: 16: Hoare triple {4860#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,318 INFO L290 TraceCheckUtils]: 17: Hoare triple {4891#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,318 INFO L272 TraceCheckUtils]: 18: Hoare triple {4891#(<= ~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)); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {4891#(<= ~counter~0 2)} ~cond := #in~cond; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {4891#(<= ~counter~0 2)} assume !(0 == ~cond); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {4891#(<= ~counter~0 2)} assume true; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,320 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4891#(<= ~counter~0 2)} {4891#(<= ~counter~0 2)} #58#return; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {4891#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {4891#(<= ~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; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {4891#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 10:59:22,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {4891#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4922#(<= |main_#t~post6| 2)} is VALID [2022-04-08 10:59:22,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {4922#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-08 10:59:22,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-08 10:59:22,322 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#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)); {4837#false} is VALID [2022-04-08 10:59:22,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-08 10:59:22,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-08 10:59:22,322 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-08 10:59:22,322 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-08 10:59:22,322 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:22,490 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-08 10:59:22,490 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-08 10:59:22,490 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-08 10:59:22,490 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#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)); {4837#false} is VALID [2022-04-08 10:59:22,490 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-08 10:59:22,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-08 10:59:22,491 INFO L290 TraceCheckUtils]: 26: Hoare triple {4960#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4956#(< |main_#t~post6| 100)} is VALID [2022-04-08 10:59:22,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {4960#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,491 INFO L290 TraceCheckUtils]: 24: Hoare triple {4960#(< ~counter~0 100)} 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; {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {4960#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,492 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4836#true} {4960#(< ~counter~0 100)} #58#return; {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-08 10:59:22,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-08 10:59:22,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-08 10:59:22,493 INFO L272 TraceCheckUtils]: 18: Hoare triple {4960#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-08 10:59:22,493 INFO L290 TraceCheckUtils]: 17: Hoare triple {4960#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {4991#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4960#(< ~counter~0 100)} is VALID [2022-04-08 10:59:22,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {4991#(< ~counter~0 99)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,494 INFO L290 TraceCheckUtils]: 14: Hoare triple {4991#(< ~counter~0 99)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {4991#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,495 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4836#true} {4991#(< ~counter~0 99)} #58#return; {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-08 10:59:22,495 INFO L290 TraceCheckUtils]: 10: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-08 10:59:22,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-08 10:59:22,495 INFO L272 TraceCheckUtils]: 8: Hoare triple {4991#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-08 10:59:22,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {4991#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,496 INFO L290 TraceCheckUtils]: 6: Hoare triple {5022#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4991#(< ~counter~0 99)} is VALID [2022-04-08 10:59:22,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {5022#(< ~counter~0 98)} 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; {5022#(< ~counter~0 98)} is VALID [2022-04-08 10:59:22,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {5022#(< ~counter~0 98)} call #t~ret9 := main(); {5022#(< ~counter~0 98)} is VALID [2022-04-08 10:59:22,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5022#(< ~counter~0 98)} {4836#true} #62#return; {5022#(< ~counter~0 98)} is VALID [2022-04-08 10:59:22,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {5022#(< ~counter~0 98)} assume true; {5022#(< ~counter~0 98)} is VALID [2022-04-08 10:59:22,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#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; {5022#(< ~counter~0 98)} is VALID [2022-04-08 10:59:22,503 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-08 10:59:22,503 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-08 10:59:22,503 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:22,503 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2004566674] [2022-04-08 10:59:22,503 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:22,503 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [812022043] [2022-04-08 10:59:22,503 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [812022043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:22,503 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:22,503 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 10:59:22,504 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:22,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1230293823] [2022-04-08 10:59:22,504 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1230293823] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:22,504 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:22,504 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:59:22,504 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1403965460] [2022-04-08 10:59:22,504 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:22,504 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-08 10:59:22,505 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:22,505 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-08 10:59:22,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:22,528 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:59:22,529 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:22,529 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:59:22,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:59:22,529 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-08 10:59:22,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:22,705 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-08 10:59:22,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:59:22,705 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-08 10:59:22,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:22,705 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-08 10:59:22,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-08 10:59:22,707 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-08 10:59:22,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-08 10:59:22,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-08 10:59:22,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:22,755 INFO L225 Difference]: With dead ends: 94 [2022-04-08 10:59:22,756 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 10:59:22,756 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:59:22,757 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:22,757 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 75 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:59:22,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 10:59:22,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-08 10:59:22,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:22,862 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-08 10:59:22,862 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-08 10:59:22,862 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-08 10:59:22,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:22,864 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-08 10:59:22,864 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 10:59:22,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:22,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:22,865 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-08 10:59:22,865 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-08 10:59:22,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:22,867 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-08 10:59:22,867 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 10:59:22,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:22,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:22,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:22,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:22,868 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-08 10:59:22,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-08 10:59:22,869 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-08 10:59:22,869 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:22,869 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-08 10:59:22,870 INFO L479 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-08 10:59:22,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-08 10:59:23,010 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-08 10:59:23,010 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 10:59:23,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:59:23,010 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:23,010 INFO L499 BasicCegarLoop]: 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-08 10:59:23,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:23,211 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 10:59:23,211 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:23,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:23,212 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-08 10:59:23,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:23,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1288162530] [2022-04-08 10:59:23,265 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:23,266 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:23,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-08 10:59:23,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:23,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308749176] [2022-04-08 10:59:23,266 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:23,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:23,276 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:23,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1814683344] [2022-04-08 10:59:23,277 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:59:23,277 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:23,277 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:23,278 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:23,283 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 10:59:23,340 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:59:23,340 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:23,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 10:59:23,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:23,351 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:23,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-08 10:59:23,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#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; {5579#true} is VALID [2022-04-08 10:59:23,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:23,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-08 10:59:23,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-08 10:59:23,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#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; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:23,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:23,804 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:23,804 INFO L272 TraceCheckUtils]: 8: Hoare triple {5599#(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)); {5579#true} is VALID [2022-04-08 10:59:23,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 10:59:23,804 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 10:59:23,804 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:23,805 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:23,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 10:59:23,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {5599#(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; {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,807 INFO L290 TraceCheckUtils]: 17: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,807 INFO L272 TraceCheckUtils]: 18: Hoare triple {5631#(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)); {5579#true} is VALID [2022-04-08 10:59:23,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 10:59:23,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 10:59:23,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:23,808 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #58#return; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,808 INFO L290 TraceCheckUtils]: 23: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(~x~0 <= ~X~0); {5656#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {5656#(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; {5660#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} is VALID [2022-04-08 10:59:23,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {5660#(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; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 10:59:23,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {5664#(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; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 10:59:23,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5671#(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-08 10:59:23,810 INFO L272 TraceCheckUtils]: 28: Hoare triple {5671#(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)); {5579#true} is VALID [2022-04-08 10:59:23,810 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:23,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:23,811 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:23,813 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5671#(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; {5689#(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-08 10:59:23,814 INFO L290 TraceCheckUtils]: 33: Hoare triple {5689#(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); {5693#(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-08 10:59:23,815 INFO L290 TraceCheckUtils]: 34: Hoare triple {5693#(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; {5697#(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-08 10:59:23,816 INFO L272 TraceCheckUtils]: 35: Hoare triple {5697#(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)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:23,816 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:23,817 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-08 10:59:23,817 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-08 10:59:23,817 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-08 10:59:23,817 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:24,537 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-08 10:59:24,537 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-08 10:59:24,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:24,539 INFO L272 TraceCheckUtils]: 35: Hoare triple {5721#(= (+ (* 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)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:24,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {5725#(= (+ (* 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; {5721#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 10:59:24,541 INFO L290 TraceCheckUtils]: 33: Hoare triple {5729#(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); {5725#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 10:59:24,542 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5733#(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; {5729#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 10:59:24,543 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:24,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:24,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:59:24,544 INFO L272 TraceCheckUtils]: 28: Hoare triple {5733#(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)); {5579#true} is VALID [2022-04-08 10:59:24,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {5750#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5733#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 10:59:24,546 INFO L290 TraceCheckUtils]: 26: Hoare triple {5750#(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; {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 10:59:24,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {5757#(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; {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 10:59:24,550 INFO L290 TraceCheckUtils]: 24: Hoare triple {5761#(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; {5757#(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-08 10:59:24,552 INFO L290 TraceCheckUtils]: 23: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5761#(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-08 10:59:24,552 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-08 10:59:24,552 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:24,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L272 TraceCheckUtils]: 18: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {5579#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {5579#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {5579#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; {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5579#true} is VALID [2022-04-08 10:59:24,553 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L272 TraceCheckUtils]: 8: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {5579#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 6: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#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; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-08 10:59:24,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 10:59:24,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#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; {5579#true} is VALID [2022-04-08 10:59:24,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-08 10:59:24,555 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-08 10:59:24,555 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:24,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308749176] [2022-04-08 10:59:24,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:24,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1814683344] [2022-04-08 10:59:24,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1814683344] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:24,556 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:24,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-08 10:59:24,556 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:24,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1288162530] [2022-04-08 10:59:24,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1288162530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:24,556 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:24,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 10:59:24,556 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [586878066] [2022-04-08 10:59:24,557 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:24,557 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-08 10:59:24,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:24,557 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-08 10:59:24,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:24,589 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 10:59:24,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:24,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 10:59:24,589 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-08 10:59:24,589 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-08 10:59:25,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:25,437 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 10:59:25,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 10:59:25,438 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-08 10:59:25,438 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:25,438 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-08 10:59:25,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-08 10:59:25,439 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-08 10:59:25,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-08 10:59:25,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-08 10:59:25,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:25,501 INFO L225 Difference]: With dead ends: 97 [2022-04-08 10:59:25,501 INFO L226 Difference]: Without dead ends: 89 [2022-04-08 10:59:25,502 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-08 10:59:25,502 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 20 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 313 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:25,502 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 170 Invalid, 313 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:59:25,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-08 10:59:25,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-08 10:59:25,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:25,580 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-08 10:59:25,580 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-08 10:59:25,580 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-08 10:59:25,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:25,582 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-08 10:59:25,582 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-08 10:59:25,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:25,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:25,582 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-08 10:59:25,583 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-08 10:59:25,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:25,584 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-08 10:59:25,584 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-08 10:59:25,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:25,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:25,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:25,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:25,585 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-08 10:59:25,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-08 10:59:25,587 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-08 10:59:25,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:25,587 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-08 10:59:25,587 INFO L479 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-08 10:59:25,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-08 10:59:25,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:25,975 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-08 10:59:25,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 10:59:25,976 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:25,976 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:59:25,992 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 10:59:26,179 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 10:59:26,179 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:26,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:26,180 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-08 10:59:26,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:26,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [665440076] [2022-04-08 10:59:26,228 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:26,228 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:26,228 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-08 10:59:26,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:26,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [774088318] [2022-04-08 10:59:26,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:26,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:26,246 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:26,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1203011279] [2022-04-08 10:59:26,247 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:59:26,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:26,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:26,248 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:26,250 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 10:59:26,297 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:59:26,298 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:26,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 10:59:26,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:26,312 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:38,292 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:00:11,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-08 11:00:11,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#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; {6374#true} is VALID [2022-04-08 11:00:11,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:11,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-08 11:00:11,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-08 11:00:11,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#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; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,683 INFO L290 TraceCheckUtils]: 6: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,683 INFO L272 TraceCheckUtils]: 8: Hoare triple {6394#(= 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)); {6374#true} is VALID [2022-04-08 11:00:11,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 11:00:11,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 11:00:11,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:11,684 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,686 INFO L290 TraceCheckUtils]: 16: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,687 INFO L272 TraceCheckUtils]: 18: Hoare triple {6394#(= 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)); {6374#true} is VALID [2022-04-08 11:00:11,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 11:00:11,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 11:00:11,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:11,687 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 11:00:11,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6461#(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-08 11:00:11,689 INFO L272 TraceCheckUtils]: 28: Hoare triple {6461#(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)); {6374#true} is VALID [2022-04-08 11:00:11,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:00:11,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:00:11,690 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:00:11,691 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6461#(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; {6479#(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-08 11:00:11,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {6479#(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); {6479#(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-08 11:00:11,692 INFO L290 TraceCheckUtils]: 34: Hoare triple {6479#(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; {6486#(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-08 11:00:11,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {6486#(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; {6479#(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-08 11:00:11,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {6479#(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; {6479#(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-08 11:00:13,696 WARN L290 TraceCheckUtils]: 37: Hoare triple {6479#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6496#(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-08 11:00:13,699 INFO L272 TraceCheckUtils]: 38: Hoare triple {6496#(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)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:00:13,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:00:13,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-08 11:00:13,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-08 11:00:13,700 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-08 11:00:13,700 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:00:16,179 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-08 11:00:16,179 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-08 11:00:16,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:00:16,181 INFO L272 TraceCheckUtils]: 38: Hoare triple {6520#(= (+ (* 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)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:00:16,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {6524#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6520#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 11:00:16,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {6524#(= (+ (* 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; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:00:16,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {6531#(= (+ (* (* 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; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:00:16,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {6524#(= (+ (* 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; {6531#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 11:00:16,217 INFO L290 TraceCheckUtils]: 33: Hoare triple {6524#(= (+ (* 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); {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:00:16,218 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6541#(= (+ (* (* 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; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:00:16,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:00:16,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:00:16,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:00:16,219 INFO L272 TraceCheckUtils]: 28: Hoare triple {6541#(= (+ (* (* 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)); {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6541#(= (+ (* (* 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-08 11:00:16,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 11:00:16,220 INFO L272 TraceCheckUtils]: 18: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 17: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L272 TraceCheckUtils]: 8: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 7: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 6: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 11:00:16,221 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#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; {6374#true} is VALID [2022-04-08 11:00:16,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-08 11:00:16,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-08 11:00:16,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 11:00:16,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#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; {6374#true} is VALID [2022-04-08 11:00:16,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-08 11:00:16,222 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-08 11:00:16,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:00:16,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [774088318] [2022-04-08 11:00:16,222 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:00:16,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1203011279] [2022-04-08 11:00:16,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1203011279] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:00:16,223 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:00:16,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 11:00:16,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:00:16,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [665440076] [2022-04-08 11:00:16,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [665440076] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:00:16,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:00:16,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 11:00:16,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283087610] [2022-04-08 11:00:16,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:00:16,224 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-08 11:00:16,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:00:16,224 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-08 11:00:18,254 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-08 11:00:18,254 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 11:00:18,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:00:18,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 11:00:18,255 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-08 11:00:18,255 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-08 11:00:34,678 WARN L232 SmtUtils]: Spent 16.26s 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-08 11:00:37,029 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:00:39,382 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:00:43,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:00:43,578 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-04-08 11:00:43,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 11:00:43,578 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-08 11:00:43,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:00:43,579 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-08 11:00:43,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-08 11:00:43,580 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-08 11:00:43,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-08 11:00:43,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-08 11:00:45,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 11:00:45,632 INFO L225 Difference]: With dead ends: 102 [2022-04-08 11:00:45,633 INFO L226 Difference]: Without dead ends: 97 [2022-04-08 11:00:45,633 INFO L912 BasicCegarLoop]: 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-08 11:00:45,634 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 23 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 8 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-08 11:00:45,634 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 66 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 87 Invalid, 2 Unknown, 0 Unchecked, 4.3s Time] [2022-04-08 11:00:45,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-08 11:00:45,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-08 11:00:45,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:00:45,730 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-08 11:00:45,730 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-08 11:00:45,730 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-08 11:00:45,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:00:45,733 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 11:00:45,733 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-08 11:00:45,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:00:45,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:00:45,733 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-08 11:00:45,734 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-08 11:00:45,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:00:45,735 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 11:00:45,736 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-08 11:00:45,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:00:45,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:00:45,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:00:45,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:00:45,736 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-08 11:00:45,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-08 11:00:45,738 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-08 11:00:45,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:00:45,738 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-08 11:00:45,738 INFO L479 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-08 11:00:45,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-08 11:00:49,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 93 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 11:00:49,906 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-08 11:00:49,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 11:00:49,906 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:00:49,906 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:00:49,923 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 11:00:50,111 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 11:00:50,112 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:00:50,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:00:50,112 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-08 11:00:50,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:00:50,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1273920924] [2022-04-08 11:00:50,203 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:00:50,203 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:00:50,203 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-08 11:00:50,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:00:50,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [649300487] [2022-04-08 11:00:50,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:00:50,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:00:50,217 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:00:50,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [362480684] [2022-04-08 11:00:50,218 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:00:50,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:00:50,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:00:50,219 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:00:50,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 11:00:50,278 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 11:00:50,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:00:50,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 11:00:50,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:00:50,291 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:00:59,661 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:01:06,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-08 11:01:06,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#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; {7225#true} is VALID [2022-04-08 11:01:06,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:06,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-08 11:01:06,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-08 11:01:06,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#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; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,091 INFO L290 TraceCheckUtils]: 6: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,091 INFO L272 TraceCheckUtils]: 8: Hoare triple {7245#(= 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)); {7225#true} is VALID [2022-04-08 11:01:06,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 11:01:06,092 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 11:01:06,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:06,092 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,094 INFO L290 TraceCheckUtils]: 17: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,094 INFO L272 TraceCheckUtils]: 18: Hoare triple {7245#(= 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)); {7225#true} is VALID [2022-04-08 11:01:06,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 11:01:06,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 11:01:06,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:06,094 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 11:01:06,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7312#(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-08 11:01:06,096 INFO L272 TraceCheckUtils]: 28: Hoare triple {7312#(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)); {7225#true} is VALID [2022-04-08 11:01:06,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:06,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:06,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:06,098 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7312#(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; {7330#(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-08 11:01:06,099 INFO L290 TraceCheckUtils]: 33: Hoare triple {7330#(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); {7330#(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-08 11:01:06,099 INFO L290 TraceCheckUtils]: 34: Hoare triple {7330#(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; {7337#(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-08 11:01:06,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#(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; {7341#(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-08 11:01:06,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {7341#(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; {7341#(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-08 11:01:08,104 WARN L290 TraceCheckUtils]: 37: Hoare triple {7341#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7348#(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-08 11:01:08,107 INFO L272 TraceCheckUtils]: 38: Hoare triple {7348#(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)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:01:08,107 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:08,108 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-08 11:01:08,108 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-08 11:01:08,108 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-08 11:01:08,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:01:12,014 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-08 11:01:12,015 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-08 11:01:12,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:12,016 INFO L272 TraceCheckUtils]: 38: Hoare triple {7372#(= (+ (* 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)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:01:12,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {7376#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7372#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 11:01:12,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {7376#(= (+ (* 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; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:12,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {7383#(= (+ (* (* 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; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:12,020 INFO L290 TraceCheckUtils]: 34: Hoare triple {7376#(= (+ (* 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; {7383#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 11:01:12,021 INFO L290 TraceCheckUtils]: 33: Hoare triple {7376#(= (+ (* 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); {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:12,022 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7393#(= (+ (* (* 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; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:12,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:12,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:12,023 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:01:12,023 INFO L272 TraceCheckUtils]: 28: Hoare triple {7393#(= (+ (* (* 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)); {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7393#(= (+ (* (* 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-08 11:01:12,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 25: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 24: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 11:01:12,024 INFO L272 TraceCheckUtils]: 18: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 11:01:12,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L272 TraceCheckUtils]: 8: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L290 TraceCheckUtils]: 6: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#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; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#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; {7225#true} is VALID [2022-04-08 11:01:12,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-08 11:01:12,027 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-08 11:01:12,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:01:12,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [649300487] [2022-04-08 11:01:12,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:01:12,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [362480684] [2022-04-08 11:01:12,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [362480684] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:01:12,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:01:12,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 11:01:12,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:01:12,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1273920924] [2022-04-08 11:01:12,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1273920924] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:01:12,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:01:12,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 11:01:12,031 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939840294] [2022-04-08 11:01:12,031 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:01:12,031 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-08 11:01:12,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:01:12,032 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-08 11:01:14,067 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-08 11:01:14,067 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 11:01:14,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:01:14,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 11:01:14,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-08 11:01:14,068 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-08 11:01:16,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:16,053 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-08 11:01:16,053 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 11:01:16,053 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-08 11:01:16,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:01:16,053 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-08 11:01:16,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-08 11:01:16,055 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-08 11:01:16,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-08 11:01:16,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-08 11:01:18,109 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-08 11:01:18,110 INFO L225 Difference]: With dead ends: 103 [2022-04-08 11:01:18,110 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 11:01:18,111 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-08 11:01:18,111 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 21 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 11:01:18,111 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 113 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 11:01:18,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 11:01:18,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-08 11:01:18,228 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:01:18,228 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-08 11:01:18,228 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-08 11:01:18,228 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-08 11:01:18,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:18,230 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-08 11:01:18,230 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-08 11:01:18,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:01:18,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:01:18,230 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-08 11:01:18,231 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-08 11:01:18,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:18,233 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-08 11:01:18,233 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-08 11:01:18,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:01:18,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:01:18,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:01:18,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:01:18,234 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-08 11:01:18,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-08 11:01:18,236 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-08 11:01:18,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:01:18,236 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-08 11:01:18,236 INFO L479 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-08 11:01:18,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-08 11:01:22,462 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-08 11:01:22,462 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-08 11:01:22,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 11:01:22,462 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:01:22,462 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:01:22,479 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 11:01:22,663 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 11:01:22,663 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:01:22,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:01:22,664 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-08 11:01:22,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:01:22,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2005524873] [2022-04-08 11:01:22,772 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:01:22,772 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:01:22,772 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-08 11:01:22,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:01:22,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1548767932] [2022-04-08 11:01:22,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:01:22,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:01:22,792 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:01:22,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1240595942] [2022-04-08 11:01:22,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:01:22,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:01:22,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:01:22,796 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:01:22,797 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 11:01:22,856 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:01:22,857 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:01:22,858 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 11:01:22,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:01:22,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:01:23,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-08 11:01:23,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#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; {8105#true} is VALID [2022-04-08 11:01:23,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 11:01:23,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-08 11:01:23,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-08 11:01:23,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#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; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 11:01:23,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {8125#(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; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 11:01:23,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 11:01:23,449 INFO L272 TraceCheckUtils]: 8: Hoare triple {8125#(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)); {8105#true} is VALID [2022-04-08 11:01:23,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 11:01:23,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 11:01:23,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 11:01:23,450 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 11:01:23,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 11:01:23,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {8125#(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; {8153#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 11:01:23,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {8153#(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; {8157#(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-08 11:01:23,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {8157#(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; {8157#(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-08 11:01:23,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8164#(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-08 11:01:23,452 INFO L272 TraceCheckUtils]: 18: Hoare triple {8164#(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)); {8105#true} is VALID [2022-04-08 11:01:23,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:23,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:23,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:23,454 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8164#(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; {8157#(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-08 11:01:23,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {8157#(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); {8157#(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-08 11:01:23,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {8157#(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; {8188#(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-08 11:01:23,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {8188#(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; {8192#(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-08 11:01:23,456 INFO L290 TraceCheckUtils]: 26: Hoare triple {8192#(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; {8192#(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-08 11:01:23,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {8192#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8199#(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-08 11:01:23,456 INFO L272 TraceCheckUtils]: 28: Hoare triple {8199#(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)); {8105#true} is VALID [2022-04-08 11:01:23,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:23,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:23,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:23,458 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8199#(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; {8192#(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-08 11:01:23,459 INFO L290 TraceCheckUtils]: 33: Hoare triple {8192#(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); {8218#(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-08 11:01:23,459 INFO L290 TraceCheckUtils]: 34: Hoare triple {8218#(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; {8222#(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-08 11:01:23,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {8222#(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; {8226#(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-08 11:01:23,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {8226#(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; {8226#(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-08 11:01:23,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {8226#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#(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-08 11:01:23,462 INFO L272 TraceCheckUtils]: 38: Hoare triple {8233#(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)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:01:23,463 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:23,463 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-08 11:01:23,463 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-08 11:01:23,463 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-08 11:01:23,464 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:01:27,837 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-08 11:01:27,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-08 11:01:27,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:01:27,839 INFO L272 TraceCheckUtils]: 38: Hoare triple {8257#(= (+ (* 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)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:01:27,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {8261#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8257#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 11:01:27,840 INFO L290 TraceCheckUtils]: 36: Hoare triple {8261#(= (+ (* 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; {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:27,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {8268#(= (+ (* (* 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; {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:01:27,843 INFO L290 TraceCheckUtils]: 34: Hoare triple {8272#(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; {8268#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 11:01:27,844 INFO L290 TraceCheckUtils]: 33: Hoare triple {8276#(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); {8272#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 11:01:27,845 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8280#(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; {8276#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 11:01:27,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:27,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:01:27,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:01:27,846 INFO L272 TraceCheckUtils]: 28: Hoare triple {8280#(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)); {8105#true} is VALID [2022-04-08 11:01:27,847 INFO L290 TraceCheckUtils]: 27: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8280#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 11:01:27,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 11:01:27,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {8105#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 23: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L272 TraceCheckUtils]: 18: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 17: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 16: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {8105#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; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-08 11:01:27,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L272 TraceCheckUtils]: 8: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#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; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#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; {8105#true} is VALID [2022-04-08 11:01:27,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-08 11:01:27,850 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-08 11:01:27,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:01:27,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1548767932] [2022-04-08 11:01:27,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:01:27,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1240595942] [2022-04-08 11:01:27,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1240595942] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:01:27,850 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:01:27,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-08 11:01:27,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:01:27,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2005524873] [2022-04-08 11:01:27,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2005524873] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:01:27,851 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:01:27,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 11:01:27,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1656430875] [2022-04-08 11:01:27,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:01:27,851 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-08 11:01:27,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:01:27,852 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-08 11:01:27,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:01:27,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 11:01:27,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:01:27,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 11:01:27,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-08 11:01:27,895 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-08 11:01:29,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:29,295 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-08 11:01:29,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 11:01:29,295 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-08 11:01:29,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:01:29,295 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-08 11:01:29,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-08 11:01:29,297 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-08 11:01:29,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-08 11:01:29,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-08 11:01:29,364 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-08 11:01:29,366 INFO L225 Difference]: With dead ends: 113 [2022-04-08 11:01:29,366 INFO L226 Difference]: Without dead ends: 111 [2022-04-08 11:01:29,366 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=124, Invalid=632, Unknown=0, NotChecked=0, Total=756 [2022-04-08 11:01:29,367 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 11:01:29,370 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 239 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 532 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 11:01:29,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-08 11:01:29,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-08 11:01:29,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:01:29,481 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-08 11:01:29,482 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-08 11:01:29,482 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-08 11:01:29,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:29,484 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-08 11:01:29,484 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-08 11:01:29,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:01:29,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:01:29,485 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-08 11:01:29,485 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-08 11:01:29,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:01:29,487 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-08 11:01:29,487 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-08 11:01:29,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:01:29,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:01:29,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:01:29,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:01:29,488 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-08 11:01:29,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-08 11:01:29,490 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-08 11:01:29,490 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:01:29,490 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-08 11:01:29,490 INFO L479 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-08 11:01:29,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-08 11:01:33,783 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-08 11:01:33,784 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-08 11:01:33,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 11:01:33,784 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:01:33,784 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:01:33,803 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-08 11:01:33,984 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:01:33,985 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:01:33,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:01:33,985 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-08 11:01:33,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:01:33,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [98455335] [2022-04-08 11:01:34,069 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:01:34,070 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:01:34,070 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-08 11:01:34,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:01:34,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [569115773] [2022-04-08 11:01:34,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:01:34,070 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:01:34,080 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:01:34,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [983115327] [2022-04-08 11:01:34,080 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:01:34,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:01:34,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:01:34,081 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:01:34,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 11:01:34,134 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:01:34,134 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:01:34,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 11:01:34,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:01:34,155 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:01:58,395 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:02:12,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-08 11:02:12,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#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; {9048#true} is VALID [2022-04-08 11:02:12,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:12,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-08 11:02:12,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-08 11:02:12,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#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; {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,837 INFO L290 TraceCheckUtils]: 6: Hoare triple {9068#(= main_~x~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {9068#(= main_~x~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,837 INFO L272 TraceCheckUtils]: 8: Hoare triple {9068#(= 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)); {9048#true} is VALID [2022-04-08 11:02:12,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 11:02:12,837 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 11:02:12,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:12,838 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9068#(= main_~x~0 0)} #58#return; {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {9068#(= main_~x~0 0)} assume !!(~x~0 <= ~X~0); {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {9068#(= 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; {9068#(= main_~x~0 0)} is VALID [2022-04-08 11:02:12,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {9068#(= main_~x~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,839 INFO L290 TraceCheckUtils]: 16: Hoare triple {9099#(= main_~x~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {9099#(= main_~x~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,839 INFO L272 TraceCheckUtils]: 18: Hoare triple {9099#(= 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)); {9048#true} is VALID [2022-04-08 11:02:12,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 11:02:12,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 11:02:12,840 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:12,844 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9099#(= main_~x~0 1)} #58#return; {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {9099#(= main_~x~0 1)} assume !!(~x~0 <= ~X~0); {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {9099#(= 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; {9099#(= main_~x~0 1)} is VALID [2022-04-08 11:02:12,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {9099#(= main_~x~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9130#(= main_~x~0 2)} is VALID [2022-04-08 11:02:12,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {9130#(= main_~x~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9130#(= main_~x~0 2)} is VALID [2022-04-08 11:02:12,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {9130#(= main_~x~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9137#(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-08 11:02:12,846 INFO L272 TraceCheckUtils]: 28: Hoare triple {9137#(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)); {9048#true} is VALID [2022-04-08 11:02:12,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:02:12,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:12,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:12,849 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9137#(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; {9155#(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-08 11:02:12,850 INFO L290 TraceCheckUtils]: 33: Hoare triple {9155#(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); {9155#(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-08 11:02:12,850 INFO L290 TraceCheckUtils]: 34: Hoare triple {9155#(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; {9162#(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-08 11:02:12,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {9162#(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; {9166#(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-08 11:02:12,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#(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; {9166#(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-08 11:02:14,853 WARN L290 TraceCheckUtils]: 37: Hoare triple {9166#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9173#(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-08 11:02:14,856 INFO L272 TraceCheckUtils]: 38: Hoare triple {9173#(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)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:02:14,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:02:14,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-08 11:02:14,857 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-08 11:02:14,857 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-08 11:02:14,857 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:02:19,258 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-08 11:02:19,259 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-08 11:02:19,259 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:02:19,260 INFO L272 TraceCheckUtils]: 38: Hoare triple {9197#(= (+ (* 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)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:02:19,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {9201#(= (+ (* 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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9197#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 11:02:19,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {9201#(= (+ (* 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; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:02:19,263 INFO L290 TraceCheckUtils]: 35: Hoare triple {9208#(= (+ (* (* 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; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:02:19,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {9201#(= (+ (* 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; {9208#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 11:02:19,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {9201#(= (+ (* 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); {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:02:19,265 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9218#(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; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 11:02:19,265 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:19,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:19,266 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:02:19,266 INFO L272 TraceCheckUtils]: 28: Hoare triple {9218#(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)); {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9218#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 26: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 25: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {9048#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; {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:19,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L272 TraceCheckUtils]: 18: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 17: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 16: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {9048#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; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L272 TraceCheckUtils]: 8: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 11:02:19,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L290 TraceCheckUtils]: 6: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#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; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#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; {9048#true} is VALID [2022-04-08 11:02:19,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-08 11:02:19,269 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-08 11:02:19,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:02:19,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [569115773] [2022-04-08 11:02:19,269 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:02:19,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [983115327] [2022-04-08 11:02:19,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [983115327] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:02:19,270 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:02:19,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-08 11:02:19,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:02:19,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [98455335] [2022-04-08 11:02:19,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [98455335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:02:19,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:02:19,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 11:02:19,270 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1799959641] [2022-04-08 11:02:19,270 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:02:19,271 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-08 11:02:19,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:02:19,271 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-08 11:02:21,308 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-08 11:02:21,308 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 11:02:21,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:02:21,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 11:02:21,309 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-08 11:02:21,309 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-08 11:02:42,313 WARN L232 SmtUtils]: Spent 20.03s 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-08 11:02:45,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:45,729 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-08 11:02:45,729 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 11:02:45,729 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-08 11:02:45,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:02:45,729 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-08 11:02:45,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 11:02:45,730 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-08 11:02:45,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 11:02:45,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-08 11:02:47,808 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-08 11:02:47,810 INFO L225 Difference]: With dead ends: 150 [2022-04-08 11:02:47,810 INFO L226 Difference]: Without dead ends: 148 [2022-04-08 11:02:47,810 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 20.5s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-08 11:02:47,811 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 22 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 331 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 331 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:02:47,811 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 184 Invalid, 338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 331 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 11:02:47,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-08 11:02:47,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-08 11:02:47,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:02:47,924 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-08 11:02:47,925 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-08 11:02:47,925 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-08 11:02:47,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:47,928 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 11:02:47,928 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 11:02:47,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:47,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:47,929 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-08 11:02:47,929 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-08 11:02:47,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:47,932 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 11:02:47,932 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 11:02:47,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:47,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:47,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:02:47,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:02:47,933 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-08 11:02:47,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-08 11:02:47,935 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-08 11:02:47,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:02:47,936 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-08 11:02:47,936 INFO L479 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-08 11:02:47,936 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-08 11:02:54,262 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-08 11:02:54,262 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-08 11:02:54,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 11:02:54,263 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:02:54,263 INFO L499 BasicCegarLoop]: 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-08 11:02:54,280 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-08 11:02:54,463 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 11:02:54,464 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:02:54,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:02:54,464 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-08 11:02:54,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:02:54,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1232197107] [2022-04-08 11:02:54,553 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:02:54,553 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:02:54,554 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-08 11:02:54,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:02:54,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1835770109] [2022-04-08 11:02:54,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:02:54,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:02:54,564 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:02:54,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [380624099] [2022-04-08 11:02:54,565 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:02:54,565 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:02:54,565 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:02:54,566 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:02:54,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 11:02:54,609 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:02:54,609 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:02:54,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 11:02:54,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:02:54,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:02:54,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-08 11:02:54,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#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; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 11:02:54,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {10146#(<= ~counter~0 0)} assume true; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 11:02:54,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10146#(<= ~counter~0 0)} {10138#true} #62#return; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 11:02:54,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {10146#(<= ~counter~0 0)} call #t~ret9 := main(); {10146#(<= ~counter~0 0)} is VALID [2022-04-08 11:02:54,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {10146#(<= ~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; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 11:02:54,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {10146#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,830 INFO L272 TraceCheckUtils]: 8: Hoare triple {10162#(<= ~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)); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= ~counter~0 1)} ~cond := #in~cond; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,831 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= ~counter~0 1)} assume !(0 == ~cond); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= ~counter~0 1)} assume true; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,832 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10162#(<= ~counter~0 1)} {10162#(<= ~counter~0 1)} #58#return; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {10162#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {10162#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 11:02:54,833 INFO L290 TraceCheckUtils]: 16: Hoare triple {10162#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {10193#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,834 INFO L272 TraceCheckUtils]: 18: Hoare triple {10193#(<= ~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)); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {10193#(<= ~counter~0 2)} ~cond := #in~cond; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {10193#(<= ~counter~0 2)} assume !(0 == ~cond); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {10193#(<= ~counter~0 2)} assume true; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,835 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10193#(<= ~counter~0 2)} {10193#(<= ~counter~0 2)} #58#return; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {10193#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {10193#(<= ~counter~0 2)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {10193#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 11:02:54,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {10193#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {10224#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,838 INFO L272 TraceCheckUtils]: 28: Hoare triple {10224#(<= ~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)); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#(<= ~counter~0 3)} ~cond := #in~cond; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#(<= ~counter~0 3)} assume !(0 == ~cond); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#(<= ~counter~0 3)} assume true; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,839 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#(<= ~counter~0 3)} {10224#(<= ~counter~0 3)} #58#return; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {10224#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {10224#(<= ~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; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {10224#(<= ~counter~0 3)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 11:02:54,840 INFO L290 TraceCheckUtils]: 36: Hoare triple {10224#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10255#(<= |main_#t~post6| 3)} is VALID [2022-04-08 11:02:54,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {10255#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-08 11:02:54,841 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-08 11:02:54,841 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#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)); {10139#false} is VALID [2022-04-08 11:02:54,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-08 11:02:54,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-08 11:02:54,841 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-08 11:02:54,841 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-08 11:02:54,841 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:02:55,080 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-08 11:02:55,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-08 11:02:55,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-08 11:02:55,080 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#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)); {10139#false} is VALID [2022-04-08 11:02:55,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-08 11:02:55,080 INFO L290 TraceCheckUtils]: 37: Hoare triple {10289#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-08 11:02:55,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {10293#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10289#(< |main_#t~post6| 100)} is VALID [2022-04-08 11:02:55,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {10293#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {10293#(< ~counter~0 100)} 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; {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,082 INFO L290 TraceCheckUtils]: 33: Hoare triple {10293#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,082 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10138#true} {10293#(< ~counter~0 100)} #58#return; {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,082 INFO L290 TraceCheckUtils]: 31: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 11:02:55,082 INFO L290 TraceCheckUtils]: 30: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 11:02:55,082 INFO L290 TraceCheckUtils]: 29: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 11:02:55,082 INFO L272 TraceCheckUtils]: 28: Hoare triple {10293#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 11:02:55,083 INFO L290 TraceCheckUtils]: 27: Hoare triple {10293#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,084 INFO L290 TraceCheckUtils]: 26: Hoare triple {10324#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(< ~counter~0 100)} is VALID [2022-04-08 11:02:55,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {10324#(< ~counter~0 99)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {10324#(< ~counter~0 99)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {10324#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,086 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10138#true} {10324#(< ~counter~0 99)} #58#return; {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 11:02:55,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 11:02:55,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 11:02:55,086 INFO L272 TraceCheckUtils]: 18: Hoare triple {10324#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 11:02:55,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {10324#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {10355#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10324#(< ~counter~0 99)} is VALID [2022-04-08 11:02:55,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {10355#(< ~counter~0 98)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {10355#(< ~counter~0 98)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#(< ~counter~0 98)} assume !!(~x~0 <= ~X~0); {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,090 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10138#true} {10355#(< ~counter~0 98)} #58#return; {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,090 INFO L290 TraceCheckUtils]: 11: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 11:02:55,090 INFO L290 TraceCheckUtils]: 10: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 11:02:55,090 INFO L290 TraceCheckUtils]: 9: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 11:02:55,090 INFO L272 TraceCheckUtils]: 8: Hoare triple {10355#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 11:02:55,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,092 INFO L290 TraceCheckUtils]: 6: Hoare triple {10386#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10355#(< ~counter~0 98)} is VALID [2022-04-08 11:02:55,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {10386#(< ~counter~0 97)} 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; {10386#(< ~counter~0 97)} is VALID [2022-04-08 11:02:55,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {10386#(< ~counter~0 97)} call #t~ret9 := main(); {10386#(< ~counter~0 97)} is VALID [2022-04-08 11:02:55,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10386#(< ~counter~0 97)} {10138#true} #62#return; {10386#(< ~counter~0 97)} is VALID [2022-04-08 11:02:55,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {10386#(< ~counter~0 97)} assume true; {10386#(< ~counter~0 97)} is VALID [2022-04-08 11:02:55,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#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; {10386#(< ~counter~0 97)} is VALID [2022-04-08 11:02:55,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-08 11:02:55,094 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-08 11:02:55,095 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:02:55,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1835770109] [2022-04-08 11:02:55,095 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:02:55,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380624099] [2022-04-08 11:02:55,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380624099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:02:55,095 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:02:55,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 11:02:55,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:02:55,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1232197107] [2022-04-08 11:02:55,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1232197107] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:02:55,096 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:02:55,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 11:02:55,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1447854727] [2022-04-08 11:02:55,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:02:55,096 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-08 11:02:55,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:02:55,097 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-08 11:02:55,134 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-08 11:02:55,134 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 11:02:55,135 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:02:55,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 11:02:55,135 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 11:02:55,135 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-08 11:02:55,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:55,382 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-08 11:02:55,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 11:02:55,382 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-08 11:02:55,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:02:55,382 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-08 11:02:55,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 11:02:55,383 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-08 11:02:55,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 11:02:55,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-08 11:02:55,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:02:55,435 INFO L225 Difference]: With dead ends: 131 [2022-04-08 11:02:55,435 INFO L226 Difference]: Without dead ends: 123 [2022-04-08 11:02:55,435 INFO L912 BasicCegarLoop]: 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-08 11:02:55,436 INFO L913 BasicCegarLoop]: 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-08 11:02:55,436 INFO L914 BasicCegarLoop]: 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-08 11:02:55,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-08 11:02:55,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-08 11:02:55,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:02:55,568 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-08 11:02:55,568 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-08 11:02:55,569 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-08 11:02:55,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:55,571 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-08 11:02:55,571 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-08 11:02:55,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:55,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:55,572 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-08 11:02:55,572 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-08 11:02:55,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:55,575 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-08 11:02:55,575 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-08 11:02:55,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:55,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:55,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:02:55,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:02:55,576 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-08 11:02:55,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-08 11:02:55,578 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-08 11:02:55,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:02:55,578 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-08 11:02:55,578 INFO L479 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-08 11:02:55,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-08 11:03:05,918 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-08 11:03:05,918 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-08 11:03:05,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 11:03:05,919 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:03:05,919 INFO L499 BasicCegarLoop]: 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-08 11:03:05,936 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 11:03:06,119 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 11:03:06,120 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:03:06,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:03:06,120 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-08 11:03:06,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:03:06,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [513039486] [2022-04-08 11:03:06,208 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:03:06,208 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:03:06,208 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-08 11:03:06,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:03:06,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [705073541] [2022-04-08 11:03:06,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:03:06,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:03:06,219 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:03:06,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [16506408] [2022-04-08 11:03:06,219 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:03:06,219 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:03:06,220 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:03:06,220 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:03:06,223 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 11:03:06,264 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:03:06,264 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:03:06,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 11:03:06,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:03:06,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:03:07,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-08 11:03:07,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#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; {11161#true} is VALID [2022-04-08 11:03:07,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-08 11:03:07,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-08 11:03:07,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#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; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 11:03:07,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 11:03:07,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 11:03:07,146 INFO L272 TraceCheckUtils]: 8: Hoare triple {11181#(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)); {11161#true} is VALID [2022-04-08 11:03:07,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,147 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 11:03:07,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 11:03:07,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {11181#(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; {11209#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-08 11:03:07,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {11209#(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; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 11:03:07,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 11:03:07,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 11:03:07,149 INFO L272 TraceCheckUtils]: 18: Hoare triple {11213#(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)); {11161#true} is VALID [2022-04-08 11:03:07,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,150 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #58#return; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 11:03:07,151 INFO L290 TraceCheckUtils]: 23: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 11:03:07,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {11213#(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; {11241#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-08 11:03:07,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {11241#(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; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {11245#(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; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,154 INFO L272 TraceCheckUtils]: 28: Hoare triple {11245#(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)); {11161#true} is VALID [2022-04-08 11:03:07,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,155 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #58#return; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {11245#(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; {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-08 11:03:07,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 11:03:07,157 INFO L290 TraceCheckUtils]: 36: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 11:03:07,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 11:03:07,157 INFO L272 TraceCheckUtils]: 38: Hoare triple {11277#(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)); {11161#true} is VALID [2022-04-08 11:03:07,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,158 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,158 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #58#return; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 11:03:07,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-08 11:03:07,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-08 11:03:07,159 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#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)); {11162#false} is VALID [2022-04-08 11:03:07,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-08 11:03:07,159 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-08 11:03:07,159 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-08 11:03:07,160 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-08 11:03:07,160 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:03:07,592 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-08 11:03:07,593 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-08 11:03:07,593 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-08 11:03:07,593 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#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)); {11162#false} is VALID [2022-04-08 11:03:07,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-08 11:03:07,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-08 11:03:07,594 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11332#(<= main_~x~0 main_~X~0)} #58#return; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:07,594 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,594 INFO L272 TraceCheckUtils]: 38: Hoare triple {11332#(<= 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)); {11161#true} is VALID [2022-04-08 11:03:07,594 INFO L290 TraceCheckUtils]: 37: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:07,594 INFO L290 TraceCheckUtils]: 36: Hoare triple {11332#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:07,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {11357#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:07,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {11361#(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; {11357#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:07,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 11:03:07,597 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 11:03:07,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,597 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,597 INFO L272 TraceCheckUtils]: 28: Hoare triple {11361#(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)); {11161#true} is VALID [2022-04-08 11:03:07,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 11:03:07,598 INFO L290 TraceCheckUtils]: 26: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 11:03:07,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 11:03:07,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {11393#(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; {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:07,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {11393#(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); {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 11:03:07,600 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #58#return; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 11:03:07,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,601 INFO L272 TraceCheckUtils]: 18: Hoare triple {11393#(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)); {11161#true} is VALID [2022-04-08 11:03:07,601 INFO L290 TraceCheckUtils]: 17: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 11:03:07,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {11393#(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; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 11:03:07,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {11421#(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; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 11:03:07,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {11425#(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; {11421#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:07,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {11425#(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); {11425#(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-08 11:03:07,605 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #58#return; {11425#(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-08 11:03:07,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 11:03:07,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 11:03:07,605 INFO L272 TraceCheckUtils]: 8: Hoare triple {11425#(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)); {11161#true} is VALID [2022-04-08 11:03:07,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11425#(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-08 11:03:07,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {11425#(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; {11425#(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-08 11:03:07,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#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; {11425#(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-08 11:03:07,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-08 11:03:07,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-08 11:03:07,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 11:03:07,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#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; {11161#true} is VALID [2022-04-08 11:03:07,609 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-08 11:03:07,609 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-08 11:03:07,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:03:07,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [705073541] [2022-04-08 11:03:07,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:03:07,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [16506408] [2022-04-08 11:03:07,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [16506408] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:03:07,610 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:03:07,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 11:03:07,610 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:03:07,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [513039486] [2022-04-08 11:03:07,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [513039486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:03:07,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:03:07,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 11:03:07,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215821220] [2022-04-08 11:03:07,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:03:07,611 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-08 11:03:07,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:03:07,611 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-08 11:03:07,646 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-08 11:03:07,646 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 11:03:07,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:03:07,646 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 11:03:07,646 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-08 11:03:07,647 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-08 11:03:08,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:08,259 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-08 11:03:08,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 11:03:08,259 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-08 11:03:08,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:03:08,259 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-08 11:03:08,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 11:03:08,261 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-08 11:03:08,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 11:03:08,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-08 11:03:08,321 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-08 11:03:08,323 INFO L225 Difference]: With dead ends: 136 [2022-04-08 11:03:08,323 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 11:03:08,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-08 11:03:08,324 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 11:03:08,324 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 123 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 11:03:08,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 11:03:08,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-08 11:03:08,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:03:08,485 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-08 11:03:08,485 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-08 11:03:08,486 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-08 11:03:08,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:08,488 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-08 11:03:08,488 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-08 11:03:08,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:03:08,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:03:08,489 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-08 11:03:08,489 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-08 11:03:08,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:08,491 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-08 11:03:08,491 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-08 11:03:08,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:03:08,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:03:08,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:03:08,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:03:08,492 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-08 11:03:08,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-08 11:03:08,495 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-08 11:03:08,495 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:03:08,495 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-08 11:03:08,495 INFO L479 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-08 11:03:08,495 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-08 11:03:22,684 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-08 11:03:22,684 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-08 11:03:22,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 11:03:22,685 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:03:22,685 INFO L499 BasicCegarLoop]: 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-08 11:03:22,702 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 11:03:22,891 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 11:03:22,892 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:03:22,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:03:22,892 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-08 11:03:22,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:03:22,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [611332405] [2022-04-08 11:03:22,980 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:03:22,980 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:03:22,980 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-08 11:03:22,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:03:22,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740857380] [2022-04-08 11:03:22,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:03:22,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:03:22,989 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:03:22,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [320604578] [2022-04-08 11:03:22,990 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:03:22,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:03:22,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:03:22,991 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:03:23,005 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 11:03:23,050 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:03:23,051 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:03:23,052 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 11:03:23,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:03:23,062 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:03:24,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-08 11:03:24,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#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; {12248#true} is VALID [2022-04-08 11:03:24,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-08 11:03:24,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-08 11:03:24,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#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; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 11:03:24,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {12268#(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; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 11:03:24,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 11:03:24,374 INFO L272 TraceCheckUtils]: 8: Hoare triple {12268#(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)); {12248#true} is VALID [2022-04-08 11:03:24,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,375 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 11:03:24,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 11:03:24,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {12268#(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; {12296#(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-08 11:03:24,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {12296#(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; {12300#(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-08 11:03:24,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {12300#(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; {12300#(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-08 11:03:24,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {12300#(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 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12300#(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-08 11:03:24,378 INFO L272 TraceCheckUtils]: 18: Hoare triple {12300#(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)); {12248#true} is VALID [2022-04-08 11:03:24,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,379 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #58#return; {12300#(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-08 11:03:24,379 INFO L290 TraceCheckUtils]: 23: Hoare triple {12300#(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); {12300#(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-08 11:03:24,380 INFO L290 TraceCheckUtils]: 24: Hoare triple {12300#(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; {12328#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {12328#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,381 INFO L290 TraceCheckUtils]: 26: Hoare triple {12332#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,382 INFO L272 TraceCheckUtils]: 28: Hoare triple {12332#(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)); {12248#true} is VALID [2022-04-08 11:03:24,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,383 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {12332#(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; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {12332#(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; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,395 INFO L290 TraceCheckUtils]: 36: Hoare triple {12363#(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; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,396 INFO L290 TraceCheckUtils]: 37: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,396 INFO L272 TraceCheckUtils]: 38: Hoare triple {12363#(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)); {12248#true} is VALID [2022-04-08 11:03:24,396 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,396 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,396 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,397 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 11:03:24,398 INFO L290 TraceCheckUtils]: 43: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-08 11:03:24,398 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-08 11:03:24,398 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#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)); {12249#false} is VALID [2022-04-08 11:03:24,398 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-08 11:03:24,398 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-08 11:03:24,398 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-08 11:03:24,398 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-08 11:03:24,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:03:24,747 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-08 11:03:24,747 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-08 11:03:24,747 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-08 11:03:24,747 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#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)); {12249#false} is VALID [2022-04-08 11:03:24,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-08 11:03:24,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-08 11:03:24,748 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12418#(<= main_~x~0 main_~X~0)} #58#return; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:24,748 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,748 INFO L272 TraceCheckUtils]: 38: Hoare triple {12418#(<= 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)); {12248#true} is VALID [2022-04-08 11:03:24,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:24,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {12418#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:24,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 11:03:24,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,751 INFO L290 TraceCheckUtils]: 33: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,751 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12443#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,752 INFO L272 TraceCheckUtils]: 28: Hoare triple {12443#(<= (+ 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)); {12248#true} is VALID [2022-04-08 11:03:24,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {12474#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 11:03:24,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {12478#(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; {12474#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-08 11:03:24,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:24,754 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:24,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,755 INFO L272 TraceCheckUtils]: 18: Hoare triple {12478#(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)); {12248#true} is VALID [2022-04-08 11:03:24,755 INFO L290 TraceCheckUtils]: 17: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:24,755 INFO L290 TraceCheckUtils]: 16: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:24,756 INFO L290 TraceCheckUtils]: 15: Hoare triple {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 11:03:24,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {12510#(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; {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {12510#(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); {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,758 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,758 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 11:03:24,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 11:03:24,758 INFO L272 TraceCheckUtils]: 8: Hoare triple {12510#(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)); {12248#true} is VALID [2022-04-08 11:03:24,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,759 INFO L290 TraceCheckUtils]: 6: Hoare triple {12510#(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; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#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; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 11:03:24,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-08 11:03:24,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-08 11:03:24,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 11:03:24,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#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; {12248#true} is VALID [2022-04-08 11:03:24,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-08 11:03:24,761 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-08 11:03:24,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:03:24,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740857380] [2022-04-08 11:03:24,761 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:03:24,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [320604578] [2022-04-08 11:03:24,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [320604578] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:03:24,761 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:03:24,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 11:03:24,762 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:03:24,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [611332405] [2022-04-08 11:03:24,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [611332405] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:03:24,762 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:03:24,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 11:03:24,762 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1190564556] [2022-04-08 11:03:24,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:03:24,763 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-08 11:03:24,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:03:24,763 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-08 11:03:24,805 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-08 11:03:24,805 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 11:03:24,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:03:24,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 11:03:24,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 11:03:24,806 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-08 11:03:25,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:25,436 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-08 11:03:25,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 11:03:25,436 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-08 11:03:25,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:03:25,436 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-08 11:03:25,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 11:03:25,437 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-08 11:03:25,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 11:03:25,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 11:03:25,504 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-08 11:03:25,506 INFO L225 Difference]: With dead ends: 138 [2022-04-08 11:03:25,506 INFO L226 Difference]: Without dead ends: 130 [2022-04-08 11:03:25,507 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 11:03:25,507 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 11:03:25,507 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 126 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 11:03:25,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-08 11:03:25,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-08 11:03:25,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:03:25,674 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-08 11:03:25,674 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-08 11:03:25,674 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-08 11:03:25,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:25,677 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-08 11:03:25,677 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-08 11:03:25,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:03:25,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:03:25,678 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-08 11:03:25,678 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-08 11:03:25,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:03:25,680 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-08 11:03:25,680 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-08 11:03:25,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:03:25,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:03:25,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:03:25,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:03:25,681 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-08 11:03:25,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-08 11:03:25,683 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-08 11:03:25,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:03:25,683 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-08 11:03:25,684 INFO L479 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-08 11:03:25,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-08 11:03:38,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 129 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 11:03:38,018 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-08 11:03:38,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 11:03:38,018 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:03:38,018 INFO L499 BasicCegarLoop]: 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-08 11:03:38,035 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 11:03:38,219 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:03:38,219 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:03:38,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:03:38,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-08 11:03:38,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:03:38,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [884176084] [2022-04-08 11:03:38,333 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:03:38,334 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:03:38,334 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-08 11:03:38,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:03:38,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351347002] [2022-04-08 11:03:38,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:03:38,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:03:38,345 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:03:38,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [520650375] [2022-04-08 11:03:38,346 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:03:38,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:03:38,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:03:38,347 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 11:03:38,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 11:03:38,433 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 11:03:38,434 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:03:38,435 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 11:03:38,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:03:38,450 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:03:58,144 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:04:05,157 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:04:10,056 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:04:27,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {13335#true} call ULTIMATE.init(); {13335#true} is VALID [2022-04-08 11:04:27,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {13335#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; {13335#true} is VALID [2022-04-08 11:04:27,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 11:04:27,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13335#true} {13335#true} #62#return; {13335#true} is VALID [2022-04-08 11:04:27,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {13335#true} call #t~ret9 := main(); {13335#true} is VALID [2022-04-08 11:04:27,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {13335#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; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 11:04:27,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 11:04:27,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 11:04:27,636 INFO L272 TraceCheckUtils]: 8: Hoare triple {13355#(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)); {13335#true} is VALID [2022-04-08 11:04:27,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 11:04:27,636 INFO L290 TraceCheckUtils]: 10: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 11:04:27,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 11:04:27,637 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13335#true} {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #58#return; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 11:04:27,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13380#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 11:04:27,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {13380#(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; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,639 INFO L290 TraceCheckUtils]: 16: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,640 INFO L272 TraceCheckUtils]: 18: Hoare triple {13384#(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)); {13335#true} is VALID [2022-04-08 11:04:27,640 INFO L290 TraceCheckUtils]: 19: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 11:04:27,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 11:04:27,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 11:04:27,641 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,641 INFO L290 TraceCheckUtils]: 23: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,641 INFO L290 TraceCheckUtils]: 24: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,642 INFO L290 TraceCheckUtils]: 25: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,642 INFO L290 TraceCheckUtils]: 26: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,642 INFO L290 TraceCheckUtils]: 27: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,643 INFO L272 TraceCheckUtils]: 28: Hoare triple {13384#(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)); {13335#true} is VALID [2022-04-08 11:04:27,643 INFO L290 TraceCheckUtils]: 29: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 11:04:27,643 INFO L290 TraceCheckUtils]: 30: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 11:04:27,643 INFO L290 TraceCheckUtils]: 31: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 11:04:27,643 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,644 INFO L290 TraceCheckUtils]: 33: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13442#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,644 INFO L290 TraceCheckUtils]: 34: Hoare triple {13442#(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; {13446#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-08 11:04:27,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {13446#(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; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 11:04:27,646 INFO L290 TraceCheckUtils]: 36: Hoare triple {13450#(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; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 11:04:27,646 INFO L290 TraceCheckUtils]: 37: Hoare triple {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13457#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 11:04:27,646 INFO L272 TraceCheckUtils]: 38: Hoare triple {13457#(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)); {13335#true} is VALID [2022-04-08 11:04:27,646 INFO L290 TraceCheckUtils]: 39: Hoare triple {13335#true} ~cond := #in~cond; {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:04:27,647 INFO L290 TraceCheckUtils]: 40: Hoare triple {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:04:27,647 INFO L290 TraceCheckUtils]: 41: Hoare triple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:04:27,649 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} {13457#(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; {13475#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 11:04:27,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {13475#(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); {13479#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 11:04:29,651 WARN L290 TraceCheckUtils]: 44: Hoare triple {13479#(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; {13483#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-08 11:04:29,654 INFO L272 TraceCheckUtils]: 45: Hoare triple {13483#(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)); {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:04:29,654 INFO L290 TraceCheckUtils]: 46: Hoare triple {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13491#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:04:29,654 INFO L290 TraceCheckUtils]: 47: Hoare triple {13491#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13336#false} is VALID [2022-04-08 11:04:29,655 INFO L290 TraceCheckUtils]: 48: Hoare triple {13336#false} assume !false; {13336#false} is VALID [2022-04-08 11:04:29,655 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-08 11:04:29,655 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:04:34,971 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful