/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:29:27,465 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:29:27,467 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:29:27,516 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:29:27,517 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:29:27,518 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:29:27,519 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:29:27,520 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:29:27,522 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:29:27,523 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:29:27,527 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:29:27,529 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:29:27,530 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:29:27,536 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:29:27,537 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:29:27,542 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:29:27,542 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:29:27,544 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:29:27,547 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:29:27,551 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:29:27,552 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:29:27,554 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:29:27,555 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:29:27,555 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:29:27,557 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:29:27,561 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:29:27,561 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:29:27,562 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:29:27,563 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:29:27,563 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:29:27,564 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:29:27,564 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:29:27,566 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:29:27,567 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:29:27,567 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:29:27,568 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:29:27,568 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:29:27,569 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:29:27,569 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:29:27,569 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:29:27,570 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:29:27,571 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:29:27,572 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 07:29:27,585 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:29:27,585 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:29:27,587 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:29:27,588 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:29:27,589 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:29:27,589 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:29:27,589 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:29:27,590 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:29:27,590 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:29:27,591 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:29:27,591 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 07:29:27,846 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:29:27,877 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:29:27,879 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:29:27,880 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:29:27,880 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:29:27,881 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-15 07:29:27,940 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55adc7b79/542ed7612b4d4f44a0811955496591e7/FLAG31a76b0de [2022-04-15 07:29:28,331 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:29:28,332 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c [2022-04-15 07:29:28,337 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55adc7b79/542ed7612b4d4f44a0811955496591e7/FLAG31a76b0de [2022-04-15 07:29:28,742 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55adc7b79/542ed7612b4d4f44a0811955496591e7 [2022-04-15 07:29:28,744 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:29:28,746 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:29:28,748 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:29:28,748 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:29:28,751 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:29:28,752 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:29:28" (1/1) ... [2022-04-15 07:29:28,754 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@49ce1f76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:28, skipping insertion in model container [2022-04-15 07:29:28,754 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:29:28" (1/1) ... [2022-04-15 07:29:28,760 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:29:28,773 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:29:28,923 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-15 07:29:28,958 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:29:28,971 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:29:28,985 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-15 07:29:29,011 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:29:29,022 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:29:29,023 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29 WrapperNode [2022-04-15 07:29:29,023 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:29:29,024 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:29:29,024 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:29:29,024 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:29:29,032 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,033 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,040 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,041 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,056 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,061 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,065 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,068 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:29:29,069 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:29:29,069 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:29:29,069 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:29:29,070 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (1/1) ... [2022-04-15 07:29:29,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:29:29,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:29,101 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 07:29:29,124 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 07:29:29,139 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:29:29,139 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:29:29,140 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:29:29,140 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:29:29,140 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:29:29,140 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:29:29,140 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:29:29,141 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:29:29,141 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:29:29,141 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:29:29,141 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:29:29,142 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:29:29,142 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:29:29,143 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:29:29,202 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:29:29,203 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:29:29,375 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:29:29,381 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:29:29,381 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:29:29,383 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:29:29 BoogieIcfgContainer [2022-04-15 07:29:29,383 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:29:29,384 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:29:29,384 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:29:29,388 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:29:29,388 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:29:28" (1/3) ... [2022-04-15 07:29:29,389 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@237dd44e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:29:29, skipping insertion in model container [2022-04-15 07:29:29,389 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:29:29" (2/3) ... [2022-04-15 07:29:29,389 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@237dd44e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:29:29, skipping insertion in model container [2022-04-15 07:29:29,389 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:29:29" (3/3) ... [2022-04-15 07:29:29,390 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound100.c [2022-04-15 07:29:29,394 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:29:29,394 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:29:29,450 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:29:29,460 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 07:29:29,461 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:29:29,487 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-15 07:29:29,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:29:29,493 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:29,493 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:29:29,494 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:29,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:29,502 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-15 07:29:29,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:29,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [69446872] [2022-04-15 07:29:29,521 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:29:29,521 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-15 07:29:29,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:29,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1203457411] [2022-04-15 07:29:29,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:29,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:29,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:29,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:29:29,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:29,754 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-15 07:29:29,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:29:29,755 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:29:29,758 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-15 07:29:29,758 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-15 07:29:29,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:29:29,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:29:29,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-15 07:29:29,760 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-15 07:29:29,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-15 07:29:29,763 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-15 07:29:29,764 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-15 07:29:29,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-15 07:29:29,765 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-15 07:29:29,765 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-15 07:29:29,766 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-15 07:29:29,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:29,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1203457411] [2022-04-15 07:29:29,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1203457411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:29,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:29,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:29:29,772 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:29,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [69446872] [2022-04-15 07:29:29,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [69446872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:29,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:29,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:29:29,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1406948572] [2022-04-15 07:29:29,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:29,778 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-15 07:29:29,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:29,782 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-15 07:29:29,813 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-15 07:29:29,813 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:29:29,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:29,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:29:29,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:29:29,834 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-15 07:29:29,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:29,961 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-15 07:29:29,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:29:29,961 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-15 07:29:29,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:29,964 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-15 07:29:29,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:29:29,971 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-15 07:29:29,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:29:29,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-15 07:29:30,037 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-15 07:29:30,044 INFO L225 Difference]: With dead ends: 45 [2022-04-15 07:29:30,044 INFO L226 Difference]: Without dead ends: 21 [2022-04-15 07:29:30,047 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-15 07:29:30,050 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-15 07:29:30,051 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-15 07:29:30,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-15 07:29:30,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-15 07:29:30,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:30,076 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-15 07:29:30,077 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-15 07:29:30,077 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-15 07:29:30,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:30,080 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:29:30,080 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:29:30,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:30,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:30,081 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-15 07:29:30,082 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-15 07:29:30,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:30,087 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:29:30,087 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:29:30,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:30,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:30,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:30,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:30,089 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-15 07:29:30,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-15 07:29:30,092 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-15 07:29:30,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:30,093 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-15 07:29:30,094 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-15 07:29:30,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-15 07:29:30,144 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-15 07:29:30,145 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-15 07:29:30,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:29:30,145 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:30,145 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:29:30,146 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:29:30,146 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:30,147 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:30,147 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-15 07:29:30,147 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:30,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [121570210] [2022-04-15 07:29:30,148 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:29:30,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-15 07:29:30,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:30,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902181462] [2022-04-15 07:29:30,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:30,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:30,179 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:30,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1906813570] [2022-04-15 07:29:30,179 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:30,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:30,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:30,181 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:30,182 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 07:29:30,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:29:30,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:30,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:29:30,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:30,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:30,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-15 07:29:30,466 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-15 07:29:30,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-15 07:29:30,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-15 07:29:30,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-15 07:29:30,468 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-15 07:29:30,469 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-15 07:29:30,471 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-15 07:29:30,472 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-15 07:29:30,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:30,473 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-15 07:29:30,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-15 07:29:30,474 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-15 07:29:30,474 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:29:30,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:30,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902181462] [2022-04-15 07:29:30,474 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:30,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1906813570] [2022-04-15 07:29:30,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1906813570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:30,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:30,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:29:30,480 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:30,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [121570210] [2022-04-15 07:29:30,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [121570210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:30,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:30,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:29:30,482 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [759226261] [2022-04-15 07:29:30,482 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:30,483 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-15 07:29:30,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:30,483 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-15 07:29:30,496 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-15 07:29:30,496 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:29:30,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:30,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:29:30,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:29:30,498 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-15 07:29:30,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:30,706 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-15 07:29:30,706 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:29:30,706 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-15 07:29:30,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:30,707 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-15 07:29:30,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:29:30,709 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-15 07:29:30,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:29:30,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-15 07:29:30,751 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-15 07:29:30,753 INFO L225 Difference]: With dead ends: 34 [2022-04-15 07:29:30,753 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 07:29:30,753 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-15 07:29:30,754 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-15 07:29:30,755 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-15 07:29:30,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 07:29:30,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-15 07:29:30,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:30,766 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-15 07:29:30,766 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-15 07:29:30,766 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-15 07:29:30,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:30,769 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:29:30,769 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:29:30,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:30,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:30,770 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-15 07:29:30,772 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-15 07:29:30,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:30,778 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:29:30,778 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:29:30,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:30,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:30,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:30,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:30,779 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-15 07:29:30,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-15 07:29:30,782 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-15 07:29:30,782 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:30,782 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-15 07:29:30,783 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-15 07:29:30,783 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-15 07:29:30,819 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-15 07:29:30,819 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-15 07:29:30,820 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:29:30,820 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:30,820 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-15 07:29:30,851 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-15 07:29:31,043 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:31,044 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:31,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:31,044 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-15 07:29:31,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:31,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [56857773] [2022-04-15 07:29:31,183 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:31,184 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:31,184 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:31,184 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-15 07:29:31,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:31,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1985819987] [2022-04-15 07:29:31,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:31,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:31,217 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:31,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2066992029] [2022-04-15 07:29:31,218 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:31,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:31,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:31,219 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:31,220 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 07:29:31,271 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:31,271 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:31,272 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 07:29:31,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:31,283 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:31,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:29:31,538 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-15 07:29:31,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:29:31,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:29:31,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:29:31,539 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-15 07:29:31,540 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-15 07:29:31,541 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-15 07:29:31,542 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-15 07:29:31,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:29:31,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:29:31,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:29:31,544 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-15 07:29:31,544 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-15 07:29:31,545 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-15 07:29:31,546 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-15 07:29:31,547 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-15 07:29:31,547 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-15 07:29:31,548 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-15 07:29:31,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:31,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:29:31,550 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:29:31,550 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-15 07:29:31,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:31,744 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:29:31,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:29:31,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:31,747 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-15 07:29:31,748 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-15 07:29:31,749 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-15 07:29:31,751 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-15 07:29:31,752 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-15 07:29:31,752 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-15 07:29:31,755 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-15 07:29:31,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:29:31,756 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:29:31,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:29:31,776 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-15 07:29:31,777 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-15 07:29:31,778 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-15 07:29:31,779 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-15 07:29:31,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:29:31,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:29:31,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:29:31,780 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-15 07:29:31,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:29:31,781 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-15 07:29:31,781 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:31,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1985819987] [2022-04-15 07:29:31,782 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:31,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2066992029] [2022-04-15 07:29:31,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2066992029] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:31,782 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:31,782 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:29:31,783 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:31,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [56857773] [2022-04-15 07:29:31,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [56857773] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:31,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:31,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:29:31,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [988266563] [2022-04-15 07:29:31,783 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:31,784 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-15 07:29:31,785 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:31,785 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-15 07:29:31,813 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-15 07:29:31,814 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:29:31,814 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:31,814 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:29:31,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:29:31,815 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-15 07:29:32,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:32,198 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-15 07:29:32,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:29:32,199 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-15 07:29:32,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:32,199 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-15 07:29:32,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:29:32,202 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-15 07:29:32,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:29:32,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:29:32,246 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-15 07:29:32,248 INFO L225 Difference]: With dead ends: 44 [2022-04-15 07:29:32,248 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 07:29:32,248 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-15 07:29:32,249 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-15 07:29:32,250 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-15 07:29:32,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 07:29:32,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-15 07:29:32,263 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:32,263 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-15 07:29:32,263 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-15 07:29:32,264 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-15 07:29:32,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:32,266 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:29:32,266 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:29:32,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:32,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:32,267 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-15 07:29:32,267 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-15 07:29:32,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:32,269 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:29:32,269 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:29:32,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:32,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:32,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:32,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:32,270 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-15 07:29:32,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:29:32,272 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-15 07:29:32,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:32,272 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:29:32,272 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-15 07:29:32,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:29:32,310 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-15 07:29:32,311 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:29:32,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:29:32,312 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:32,312 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-15 07:29:32,343 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:32,527 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 07:29:32,528 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:32,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:32,528 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-15 07:29:32,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:32,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1834789363] [2022-04-15 07:29:32,598 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:32,599 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:32,599 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:32,599 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-15 07:29:32,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:32,599 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638387296] [2022-04-15 07:29:32,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:32,599 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:32,610 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:32,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [427087097] [2022-04-15 07:29:32,611 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:32,611 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:32,611 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:32,612 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:32,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 07:29:32,668 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:32,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:32,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 07:29:32,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:32,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:32,863 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:29:32,863 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-15 07:29:32,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:29:32,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:29:32,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:29:32,864 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-15 07:29:32,865 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-15 07:29:32,865 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-15 07:29:32,866 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-15 07:29:32,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:29:32,866 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:29:32,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:29:32,867 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-15 07:29:32,867 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-15 07:29:32,868 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-15 07:29:32,869 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-15 07:29:32,870 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-15 07:29:32,871 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-15 07:29:32,872 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-15 07:29:32,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:32,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:29:32,873 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:29:32,873 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-15 07:29:32,873 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:33,058 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:29:33,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:29:33,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:33,061 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-15 07:29:33,062 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-15 07:29:33,062 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-15 07:29:33,154 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-15 07:29:33,156 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-15 07:29:33,156 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-15 07:29:33,157 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-15 07:29:33,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:29:33,158 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:29:33,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:29:33,158 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-15 07:29:33,161 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-15 07:29:33,161 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-15 07:29:33,162 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-15 07:29:33,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:29:33,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:29:33,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:29:33,163 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-15 07:29:33,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:29:33,163 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-15 07:29:33,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:33,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638387296] [2022-04-15 07:29:33,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:33,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [427087097] [2022-04-15 07:29:33,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [427087097] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:33,164 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:33,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:29:33,164 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:33,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1834789363] [2022-04-15 07:29:33,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1834789363] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:33,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:33,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:29:33,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1721861299] [2022-04-15 07:29:33,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:33,165 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-15 07:29:33,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:33,166 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-15 07:29:33,190 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-15 07:29:33,191 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:29:33,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:33,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:29:33,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:29:33,192 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-15 07:29:33,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:33,609 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-15 07:29:33,609 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:29:33,609 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-15 07:29:33,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:33,610 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-15 07:29:33,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:29:33,611 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-15 07:29:33,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:29:33,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:29:33,654 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-15 07:29:33,655 INFO L225 Difference]: With dead ends: 53 [2022-04-15 07:29:33,655 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 07:29:33,656 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-15 07:29:33,656 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-15 07:29:33,657 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-15 07:29:33,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 07:29:33,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-15 07:29:33,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:33,683 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-15 07:29:33,683 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-15 07:29:33,684 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-15 07:29:33,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:33,688 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:29:33,688 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:29:33,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:33,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:33,689 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-15 07:29:33,689 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-15 07:29:33,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:33,695 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:29:33,695 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:29:33,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:33,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:33,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:33,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:33,696 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-15 07:29:33,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-15 07:29:33,697 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-15 07:29:33,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:33,698 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-15 07:29:33,698 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-15 07:29:33,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-15 07:29:33,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:33,757 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 07:29:33,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:29:33,758 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:33,758 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-15 07:29:33,784 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:33,958 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:33,959 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:33,959 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:33,959 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-15 07:29:33,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:33,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1933035985] [2022-04-15 07:29:34,018 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:34,018 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:34,018 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:34,018 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-15 07:29:34,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:34,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [194811970] [2022-04-15 07:29:34,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:34,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:34,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:34,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1459463302] [2022-04-15 07:29:34,030 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:34,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:34,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:34,032 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:34,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 07:29:34,081 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:34,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:34,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 07:29:34,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:34,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:34,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:29:34,203 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-15 07:29:34,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:29:34,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:29:34,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:29:34,205 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-15 07:29:34,205 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-15 07:29:34,206 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-15 07:29:34,207 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-15 07:29:34,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:29:34,207 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:29:34,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:29:34,209 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:29:34,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:29:34,209 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-15 07:29:34,210 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-15 07:29:34,210 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-15 07:29:34,211 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:29:34,211 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-15 07:29:34,211 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-15 07:29:34,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:29:34,211 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:29:34,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:29:34,212 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-15 07:29:34,212 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:34,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:29:34,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:29:34,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:29:34,341 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-15 07:29:34,341 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-15 07:29:34,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:29:34,342 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-15 07:29:34,342 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-15 07:29:34,342 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-15 07:29:34,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 100)} is VALID [2022-04-15 07:29:34,344 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 100)} #58#return; {1362#(< ~counter~0 100)} is VALID [2022-04-15 07:29:34,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-15 07:29:34,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-15 07:29:34,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-15 07:29:34,344 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-15 07:29:34,344 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-15 07:29:34,345 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-15 07:29:34,345 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-15 07:29:34,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 99)} call #t~ret9 := main(); {1393#(< ~counter~0 99)} is VALID [2022-04-15 07:29:34,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 99)} {1269#true} #62#return; {1393#(< ~counter~0 99)} is VALID [2022-04-15 07:29:34,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 99)} assume true; {1393#(< ~counter~0 99)} is VALID [2022-04-15 07:29:34,347 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-15 07:29:34,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:29:34,348 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-15 07:29:34,349 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:34,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [194811970] [2022-04-15 07:29:34,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:34,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1459463302] [2022-04-15 07:29:34,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1459463302] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:34,350 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:34,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 07:29:34,350 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:34,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1933035985] [2022-04-15 07:29:34,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1933035985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:34,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:34,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:29:34,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415068513] [2022-04-15 07:29:34,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:34,351 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-15 07:29:34,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:34,353 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-15 07:29:34,370 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-15 07:29:34,370 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:29:34,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:34,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:29:34,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:29:34,371 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-15 07:29:34,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:34,459 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-15 07:29:34,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:29:34,459 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-15 07:29:34,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:34,459 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-15 07:29:34,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:29:34,461 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-15 07:29:34,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:29:34,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:29:34,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:34,502 INFO L225 Difference]: With dead ends: 54 [2022-04-15 07:29:34,502 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 07:29:34,502 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-15 07:29:34,503 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-15 07:29:34,503 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-15 07:29:34,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 07:29:34,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-15 07:29:34,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:34,529 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-15 07:29:34,530 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-15 07:29:34,530 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-15 07:29:34,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:34,531 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:29:34,532 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:29:34,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:34,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:34,536 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-15 07:29:34,536 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-15 07:29:34,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:34,538 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:29:34,538 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:29:34,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:34,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:34,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:34,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:34,539 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-15 07:29:34,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-15 07:29:34,543 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-15 07:29:34,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:34,544 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-15 07:29:34,545 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-15 07:29:34,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-15 07:29:34,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:34,606 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:29:34,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-15 07:29:34,608 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:34,608 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-15 07:29:34,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:34,823 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:34,823 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:34,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:34,824 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-15 07:29:34,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:34,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1777789605] [2022-04-15 07:29:34,880 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:34,880 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:34,881 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:34,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-15 07:29:34,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:34,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [851480326] [2022-04-15 07:29:34,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:34,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:34,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:34,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [829162284] [2022-04-15 07:29:34,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:34,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:34,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:34,901 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:34,915 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 07:29:34,945 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:34,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:34,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 07:29:34,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:34,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:35,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:29:35,409 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-15 07:29:35,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:29:35,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:29:35,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:29:35,410 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-15 07:29:35,411 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-15 07:29:35,411 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-15 07:29:35,411 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-15 07:29:35,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:29:35,412 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:29:35,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:29:35,412 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-15 07:29:35,413 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-15 07:29:35,413 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-15 07:29:35,414 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-15 07:29:35,415 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-15 07:29:35,416 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-15 07:29:35,416 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-15 07:29:35,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:35,417 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-15 07:29:35,417 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-15 07:29:35,418 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-15 07:29:35,419 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-15 07:29:35,421 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-15 07:29:35,422 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-15 07:29:35,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:35,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:29:35,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:29:35,423 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-15 07:29:35,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:36,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:29:36,190 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:29:36,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:36,192 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-15 07:29:36,193 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-15 07:29:36,193 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-15 07:29:36,195 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-15 07:29:36,195 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-15 07:29:36,196 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-15 07:29:36,196 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-15 07:29:36,200 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-15 07:29:36,202 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-15 07:29:36,203 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-15 07:29:36,205 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-15 07:29:36,207 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-15 07:29:36,209 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-15 07:29:36,209 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-15 07:29:36,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:29:36,209 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:29:36,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:29:36,210 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-15 07:29:36,210 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-15 07:29:36,210 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-15 07:29:36,210 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-15 07:29:36,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:29:36,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:29:36,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:29:36,211 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-15 07:29:36,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:29:36,212 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-15 07:29:36,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:36,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [851480326] [2022-04-15 07:29:36,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:36,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [829162284] [2022-04-15 07:29:36,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [829162284] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:36,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:36,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:29:36,213 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:36,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1777789605] [2022-04-15 07:29:36,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1777789605] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:36,213 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:36,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:29:36,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2005718374] [2022-04-15 07:29:36,214 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:36,215 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-15 07:29:36,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:36,215 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-15 07:29:36,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:36,253 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:29:36,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:36,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:29:36,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:29:36,254 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-15 07:29:36,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:36,822 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-15 07:29:36,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:29:36,823 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-15 07:29:36,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:36,823 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-15 07:29:36,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:29:36,825 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-15 07:29:36,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:29:36,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-15 07:29:36,872 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-15 07:29:36,873 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:29:36,874 INFO L226 Difference]: Without dead ends: 49 [2022-04-15 07:29:36,874 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-15 07:29:36,875 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-15 07:29:36,875 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-15 07:29:36,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-15 07:29:36,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-15 07:29:36,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:36,918 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-15 07:29:36,918 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-15 07:29:36,918 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-15 07:29:36,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:36,920 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:29:36,920 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:29:36,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:36,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:36,921 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-15 07:29:36,921 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-15 07:29:36,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:36,922 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:29:36,923 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:29:36,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:36,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:36,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:36,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:36,923 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-15 07:29:36,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:29:36,924 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-15 07:29:36,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:36,925 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:29:36,925 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-15 07:29:36,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:29:36,973 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-15 07:29:36,973 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:29:36,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:29:36,974 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:36,974 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-15 07:29:36,998 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:37,174 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:37,175 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:37,175 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:37,175 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-15 07:29:37,175 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:37,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [414154705] [2022-04-15 07:29:37,249 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:37,250 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:37,250 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:37,250 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-15 07:29:37,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:37,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [756212028] [2022-04-15 07:29:37,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:37,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:37,261 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:37,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1089445318] [2022-04-15 07:29:37,261 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:29:37,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:37,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:37,263 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:37,291 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 07:29:37,326 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:29:37,326 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:37,327 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:29:37,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:37,338 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:37,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:29:37,717 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-15 07:29:37,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:29:37,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:29:37,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:29:37,718 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-15 07:29:37,719 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-15 07:29:37,719 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-15 07:29:37,719 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-15 07:29:37,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:29:37,720 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:29:37,720 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:29:37,720 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-15 07:29:37,721 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-15 07:29:37,721 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-15 07:29:37,722 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-15 07:29:37,722 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-15 07:29:37,723 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-15 07:29:37,723 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-15 07:29:37,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:37,728 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-15 07:29:37,728 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-15 07:29:37,730 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-15 07:29:37,730 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-15 07:29:37,731 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-15 07:29:37,732 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-15 07:29:37,732 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-15 07:29:37,733 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-15 07:29:37,734 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-15 07:29:37,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:37,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:29:37,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:29:37,735 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-15 07:29:37,736 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:40,425 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:29:40,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:29:40,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:40,428 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-15 07:29:40,431 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-15 07:29:40,432 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-15 07:29:40,433 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-15 07:29:40,434 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-15 07:29:40,434 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-15 07:29:40,435 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-15 07:29:40,436 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-15 07:29:40,441 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-15 07:29:40,441 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-15 07:29:40,441 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-15 07:29:40,443 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-15 07:29:40,443 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-15 07:29:40,443 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-15 07:29:40,443 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-15 07:29:40,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-15 07:29:40,443 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-15 07:29:40,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:29:40,443 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:29:40,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:29:40,444 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-15 07:29:40,444 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-15 07:29:40,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-15 07:29:40,444 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-15 07:29:40,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:29:40,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:29:40,444 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:29:40,444 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-15 07:29:40,444 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:29:40,444 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-15 07:29:40,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:40,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [756212028] [2022-04-15 07:29:40,445 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:40,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1089445318] [2022-04-15 07:29:40,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1089445318] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:40,445 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:40,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:29:40,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:40,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [414154705] [2022-04-15 07:29:40,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [414154705] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:40,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:40,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:29:40,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1438374060] [2022-04-15 07:29:40,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:40,451 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-15 07:29:40,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:40,452 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-15 07:29:40,488 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-15 07:29:40,488 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:29:40,488 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:40,489 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:29:40,489 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:29:40,490 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-15 07:29:41,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:41,208 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-15 07:29:41,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:29:41,208 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-15 07:29:41,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:41,209 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-15 07:29:41,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:29:41,211 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-15 07:29:41,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:29:41,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 07:29:41,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:41,265 INFO L225 Difference]: With dead ends: 63 [2022-04-15 07:29:41,266 INFO L226 Difference]: Without dead ends: 58 [2022-04-15 07:29:41,266 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 44 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:29:41,267 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-15 07:29:41,267 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-15 07:29:41,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-15 07:29:41,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-15 07:29:41,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:41,319 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-15 07:29:41,319 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-15 07:29:41,320 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-15 07:29:41,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:41,324 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:29:41,324 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:29:41,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:41,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:41,325 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-15 07:29:41,326 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-15 07:29:41,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:41,328 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:29:41,328 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:29:41,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:41,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:41,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:41,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:41,330 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-15 07:29:41,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-15 07:29:41,333 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-15 07:29:41,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:41,334 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-15 07:29:41,335 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-15 07:29:41,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-15 07:29:41,411 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-15 07:29:41,411 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-15 07:29:41,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:29:41,412 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:41,412 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-15 07:29:41,428 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:41,615 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:41,616 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:41,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:41,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-15 07:29:41,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:41,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1459747064] [2022-04-15 07:29:41,735 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:29:41,735 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:29:41,735 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:29:41,735 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-15 07:29:41,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:41,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221715122] [2022-04-15 07:29:41,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:41,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:41,747 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:41,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1851936381] [2022-04-15 07:29:41,748 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:41,748 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:41,748 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:41,749 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:41,754 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 07:29:41,800 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:41,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:41,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 07:29:41,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:41,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:59,243 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:30:02,269 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:30:05,369 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:31:04,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:31:04,162 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-15 07:31:04,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:04,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:31:04,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:31:04,163 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-15 07:31:04,163 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-15 07:31:04,164 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-15 07:31:04,164 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-15 07:31:04,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:04,164 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-15 07:31:04,165 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-15 07:31:04,165 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-15 07:31:04,166 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-15 07:31:04,167 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-15 07:31:04,167 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-15 07:31:04,168 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-15 07:31:04,169 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-15 07:31:04,169 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-15 07:31:04,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:04,169 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-15 07:31:04,170 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-15 07:31:04,171 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-15 07:31:04,172 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-15 07:31:04,173 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-15 07:31:04,175 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-15 07:31:04,176 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-15 07:31:04,179 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-15 07:31:04,195 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-15 07:31:04,196 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-15 07:31:04,196 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:31:04,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:31:04,197 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-15 07:31:04,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:07,197 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:31:07,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:31:07,198 INFO L290 TraceCheckUtils]: 29: Hoare triple {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:07,198 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-15 07:31:07,199 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-15 07:31:07,200 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-15 07:31:07,201 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-15 07:31:07,203 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-15 07:31:07,203 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-15 07:31:07,204 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-15 07:31:07,204 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-15 07:31:07,205 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-15 07:31:07,205 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-15 07:31:07,205 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-15 07:31:07,206 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-15 07:31:07,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-15 07:31:07,206 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-15 07:31:07,206 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-15 07:31:07,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-15 07:31:07,206 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-15 07:31:07,206 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:07,206 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-15 07:31:07,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-15 07:31:07,207 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-15 07:31:07,207 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-15 07:31:07,207 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-15 07:31:07,207 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-15 07:31:07,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:31:07,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:31:07,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:07,207 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-15 07:31:07,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:31:07,207 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-15 07:31:07,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:07,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221715122] [2022-04-15 07:31:07,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:07,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1851936381] [2022-04-15 07:31:07,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1851936381] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:07,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:07,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-15 07:31:07,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:07,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1459747064] [2022-04-15 07:31:07,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1459747064] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:07,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:07,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:31:07,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150390694] [2022-04-15 07:31:07,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:07,209 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-15 07:31:07,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:07,210 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-15 07:31:09,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 28 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:09,247 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:31:09,247 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:09,248 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:31:09,248 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:31:09,248 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-15 07:31:11,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:11,156 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-15 07:31:11,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:31:11,157 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-15 07:31:11,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:31:11,157 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-15 07:31:11,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:31:11,159 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-15 07:31:11,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:31:11,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:31:12,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:12,072 INFO L225 Difference]: With dead ends: 74 [2022-04-15 07:31:12,072 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 07:31:12,072 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=101, Invalid=499, Unknown=0, NotChecked=0, Total=600 [2022-04-15 07:31:12,073 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:31:12,073 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.6s Time] [2022-04-15 07:31:12,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 07:31:12,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-15 07:31:12,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:31:12,129 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-15 07:31:12,129 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-15 07:31:12,129 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-15 07:31:12,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:12,132 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:31:12,132 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:31:12,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:12,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:12,132 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-15 07:31:12,133 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-15 07:31:12,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:12,135 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:31:12,135 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:31:12,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:12,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:12,136 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:31:12,136 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:31:12,136 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-15 07:31:12,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-15 07:31:12,138 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-15 07:31:12,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:31:12,139 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-15 07:31:12,139 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-15 07:31:12,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-15 07:31:13,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:13,853 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:31:13,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:31:13,854 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:31:13,854 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-15 07:31:13,871 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 07:31:14,059 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:14,060 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:31:14,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:31:14,060 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-15 07:31:14,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:14,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [114181435] [2022-04-15 07:31:14,158 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:31:14,158 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:31:14,158 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:31:14,159 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-15 07:31:14,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:31:14,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1741437208] [2022-04-15 07:31:14,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:31:14,159 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:31:14,178 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:31:14,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [453657539] [2022-04-15 07:31:14,178 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:31:14,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:14,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:31:14,181 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:31:14,191 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 07:31:14,239 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:31:14,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:31:14,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 07:31:14,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:31:14,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:31:20,142 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:31:23,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:31:23,617 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-15 07:31:23,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:31:23,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:31:23,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:31:23,618 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-15 07:31:23,619 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-15 07:31:23,619 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-15 07:31:23,619 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-15 07:31:23,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:31:23,620 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:31:23,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:31:23,620 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-15 07:31:23,621 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-15 07:31:23,622 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-15 07:31:23,622 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-15 07:31:23,623 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-15 07:31:23,623 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-15 07:31:23,623 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-15 07:31:23,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:23,624 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-15 07:31:23,624 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-15 07:31:23,625 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-15 07:31:23,626 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-15 07:31:23,627 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-15 07:31:23,631 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-15 07:31:23,632 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-15 07:31:23,634 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-15 07:31:23,636 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-15 07:31:23,636 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:23,637 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:31:23,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:31:23,637 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-15 07:31:23,637 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:27,309 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:31:27,310 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:31:27,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:27,311 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-15 07:31:27,312 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-15 07:31:27,313 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-15 07:31:27,315 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-15 07:31:27,315 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-15 07:31:27,316 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-15 07:31:27,317 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-15 07:31:27,318 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-15 07:31:27,318 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-15 07:31:27,319 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-15 07:31:27,319 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-15 07:31:27,320 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-15 07:31:27,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-15 07:31:27,320 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-15 07:31:27,320 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-15 07:31:27,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {3360#true} assume !!(~x~0 <= ~X~0); {3360#true} is VALID [2022-04-15 07:31:27,320 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3360#true} #58#return; {3360#true} is VALID [2022-04-15 07:31:27,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:31:27,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:31:27,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:31:27,321 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-15 07:31:27,321 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-15 07:31:27,321 INFO L290 TraceCheckUtils]: 6: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-15 07:31:27,321 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-15 07:31:27,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:31:27,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:31:27,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:31:27,321 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-15 07:31:27,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:31:27,322 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-15 07:31:27,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:27,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1741437208] [2022-04-15 07:31:27,322 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:27,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [453657539] [2022-04-15 07:31:27,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [453657539] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:27,322 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:27,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-15 07:31:27,323 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:27,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [114181435] [2022-04-15 07:31:27,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [114181435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:27,323 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:27,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:31:27,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [745222108] [2022-04-15 07:31:27,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:27,324 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-15 07:31:27,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:27,325 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-15 07:31:27,363 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-15 07:31:27,364 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:31:27,364 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:27,364 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:31:27,364 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:31:27,365 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-15 07:31:28,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:28,295 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-15 07:31:28,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:31:28,295 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-15 07:31:28,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:31:28,296 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-15 07:31:28,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:31:28,297 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-15 07:31:28,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:31:28,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:31:28,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:28,362 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:31:28,363 INFO L226 Difference]: Without dead ends: 80 [2022-04-15 07:31:28,363 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:31:28,363 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-15 07:31:28,364 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-15 07:31:28,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-15 07:31:28,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-15 07:31:28,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:31:28,433 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-15 07:31:28,433 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-15 07:31:28,434 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-15 07:31:28,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:28,436 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:31:28,437 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:31:28,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:28,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:28,437 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-15 07:31:28,438 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-15 07:31:28,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:28,439 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:31:28,439 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:31:28,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:28,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:28,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:31:28,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:31:28,440 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-15 07:31:28,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-15 07:31:28,441 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-15 07:31:28,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:31:28,442 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-15 07:31:28,442 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-15 07:31:28,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-15 07:31:28,564 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-15 07:31:28,565 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-15 07:31:28,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:31:28,565 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:31:28,565 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-15 07:31:28,581 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 07:31:28,765 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 07:31:28,766 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:31:28,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:31:28,766 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-15 07:31:28,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:28,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [586713026] [2022-04-15 07:31:28,814 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:31:28,814 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:31:28,814 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:31:28,814 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-15 07:31:28,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:31:28,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [662800548] [2022-04-15 07:31:28,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:31:28,815 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:31:28,833 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:31:28,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1811538625] [2022-04-15 07:31:28,833 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:31:28,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:28,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:31:28,840 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:31:28,844 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 07:31:28,888 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:31:28,888 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:31:28,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:31:28,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:31:28,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:31:29,218 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:31:29,219 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-15 07:31:29,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:31:29,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:31:29,220 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-15 07:31:29,220 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-15 07:31:29,221 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-15 07:31:29,221 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-15 07:31:29,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:31:29,221 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:31:29,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,222 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-15 07:31:29,222 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-15 07:31:29,223 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-15 07:31:29,223 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-15 07:31:29,224 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-15 07:31:29,224 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-15 07:31:29,224 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-15 07:31:29,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:31:29,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:31:29,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,225 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-15 07:31:29,226 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-15 07:31:29,226 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-15 07:31:29,227 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-15 07:31:29,227 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-15 07:31:29,228 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-15 07:31:29,229 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-15 07:31:29,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:29,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:31:29,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:31:29,230 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-15 07:31:29,230 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:29,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:31:29,622 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:31:29,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:29,623 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-15 07:31:29,624 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-15 07:31:29,624 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-15 07:31:29,625 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-15 07:31:29,627 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-15 07:31:29,627 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-15 07:31:29,628 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-15 07:31:29,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:31:29,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:31:29,628 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-15 07:31:29,629 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-15 07:31:29,629 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-15 07:31:29,631 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-15 07:31:29,632 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-15 07:31:29,633 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-15 07:31:29,633 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-15 07:31:29,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,634 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:31:29,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:31:29,634 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-15 07:31:29,634 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-15 07:31:29,635 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-15 07:31:29,635 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-15 07:31:29,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:31:29,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:31:29,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:31:29,636 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-15 07:31:29,636 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:31:29,636 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-15 07:31:29,636 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:29,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [662800548] [2022-04-15 07:31:29,636 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:29,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1811538625] [2022-04-15 07:31:29,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1811538625] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:29,637 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:29,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-15 07:31:29,637 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:29,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [586713026] [2022-04-15 07:31:29,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [586713026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:29,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:29,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:31:29,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [43565153] [2022-04-15 07:31:29,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:29,638 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-15 07:31:29,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:29,638 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-15 07:31:29,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:29,662 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:31:29,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:29,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:31:29,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:31:29,662 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-15 07:31:30,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:30,377 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-15 07:31:30,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:31:30,378 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-15 07:31:30,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:31:30,378 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-15 07:31:30,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:31:30,379 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-15 07:31:30,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:31:30,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-15 07:31:30,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:30,432 INFO L225 Difference]: With dead ends: 93 [2022-04-15 07:31:30,432 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 07:31:30,432 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-15 07:31:30,434 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-15 07:31:30,434 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-15 07:31:30,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 07:31:30,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-15 07:31:30,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:31:30,526 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-15 07:31:30,526 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-15 07:31:30,527 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-15 07:31:30,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:30,529 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:31:30,529 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:31:30,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:30,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:30,530 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-15 07:31:30,532 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-15 07:31:30,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:30,535 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:31:30,535 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:31:30,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:30,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:30,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:31:30,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:31:30,535 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-15 07:31:30,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-15 07:31:30,538 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-15 07:31:30,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:31:30,538 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-15 07:31:30,539 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-15 07:31:30,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-15 07:31:32,687 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-15 07:31:32,687 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-15 07:31:32,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 07:31:32,688 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:31:32,688 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-15 07:31:32,705 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 07:31:32,896 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 07:31:32,896 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:31:32,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:31:32,896 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-15 07:31:32,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:32,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [177714219] [2022-04-15 07:31:33,000 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:31:33,000 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:31:33,000 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:31:33,001 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-15 07:31:33,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:31:33,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [281871469] [2022-04-15 07:31:33,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:31:33,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:31:33,010 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:31:33,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [691133225] [2022-04-15 07:31:33,011 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:31:33,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:33,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:31:33,012 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:31:33,058 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 07:31:33,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:31:33,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:31:33,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:31:33,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:31:33,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:31:33,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:31:33,258 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-15 07:31:33,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {4844#(<= ~counter~0 0)} assume true; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:31:33,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4844#(<= ~counter~0 0)} {4836#true} #62#return; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:31:33,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {4844#(<= ~counter~0 0)} call #t~ret9 := main(); {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:31:33,259 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-15 07:31:33,259 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-15 07:31:33,260 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-15 07:31:33,260 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-15 07:31:33,261 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#(<= ~counter~0 1)} ~cond := #in~cond; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:31:33,261 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#(<= ~counter~0 1)} assume !(0 == ~cond); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:31:33,261 INFO L290 TraceCheckUtils]: 11: Hoare triple {4860#(<= ~counter~0 1)} assume true; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:31:33,262 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4860#(<= ~counter~0 1)} {4860#(<= ~counter~0 1)} #58#return; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:31:33,262 INFO L290 TraceCheckUtils]: 13: Hoare triple {4860#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:31:33,262 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-15 07:31:33,262 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-15 07:31:33,263 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-15 07:31:33,263 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-15 07:31:33,264 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-15 07:31:33,264 INFO L290 TraceCheckUtils]: 19: Hoare triple {4891#(<= ~counter~0 2)} ~cond := #in~cond; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:31:33,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {4891#(<= ~counter~0 2)} assume !(0 == ~cond); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:31:33,265 INFO L290 TraceCheckUtils]: 21: Hoare triple {4891#(<= ~counter~0 2)} assume true; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:31:33,265 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4891#(<= ~counter~0 2)} {4891#(<= ~counter~0 2)} #58#return; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:31:33,265 INFO L290 TraceCheckUtils]: 23: Hoare triple {4891#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:31:33,266 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-15 07:31:33,266 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-15 07:31:33,266 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-15 07:31:33,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {4922#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:31:33,267 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-15 07:31:33,267 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-15 07:31:33,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:31:33,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:31:33,267 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:31:33,267 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-15 07:31:33,267 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:33,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:31:33,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:31:33,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:31:33,429 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-15 07:31:33,429 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-15 07:31:33,429 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:31:33,430 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-15 07:31:33,430 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-15 07:31:33,430 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-15 07:31:33,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {4960#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {4960#(< ~counter~0 100)} is VALID [2022-04-15 07:31:33,431 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4836#true} {4960#(< ~counter~0 100)} #58#return; {4960#(< ~counter~0 100)} is VALID [2022-04-15 07:31:33,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:31:33,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:31:33,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:31:33,431 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-15 07:31:33,432 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-15 07:31:33,432 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-15 07:31:33,433 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-15 07:31:33,433 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-15 07:31:33,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {4991#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {4991#(< ~counter~0 99)} is VALID [2022-04-15 07:31:33,434 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4836#true} {4991#(< ~counter~0 99)} #58#return; {4991#(< ~counter~0 99)} is VALID [2022-04-15 07:31:33,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:31:33,434 INFO L290 TraceCheckUtils]: 10: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:31:33,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:31:33,434 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-15 07:31:33,434 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-15 07:31:33,435 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-15 07:31:33,435 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-15 07:31:33,435 INFO L272 TraceCheckUtils]: 4: Hoare triple {5022#(< ~counter~0 98)} call #t~ret9 := main(); {5022#(< ~counter~0 98)} is VALID [2022-04-15 07:31:33,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5022#(< ~counter~0 98)} {4836#true} #62#return; {5022#(< ~counter~0 98)} is VALID [2022-04-15 07:31:33,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {5022#(< ~counter~0 98)} assume true; {5022#(< ~counter~0 98)} is VALID [2022-04-15 07:31:33,436 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-15 07:31:33,437 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:31:33,437 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-15 07:31:33,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:33,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [281871469] [2022-04-15 07:31:33,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:33,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [691133225] [2022-04-15 07:31:33,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [691133225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:33,437 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:33,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-15 07:31:33,437 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:33,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [177714219] [2022-04-15 07:31:33,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [177714219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:33,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:33,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:31:33,438 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161824557] [2022-04-15 07:31:33,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:33,438 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-15 07:31:33,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:33,439 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-15 07:31:33,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:33,461 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:31:33,461 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:33,461 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:31:33,461 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-15 07:31:33,461 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-15 07:31:33,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:33,625 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-15 07:31:33,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:31:33,625 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-15 07:31:33,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:31:33,626 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-15 07:31:33,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:31:33,627 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-15 07:31:33,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:31:33,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-15 07:31:33,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:33,669 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:31:33,669 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 07:31:33,670 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-15 07:31:33,670 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-15 07:31:33,670 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-15 07:31:33,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 07:31:33,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-15 07:31:33,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:31:33,752 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-15 07:31:33,752 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-15 07:31:33,753 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-15 07:31:33,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:33,755 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:31:33,755 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:31:33,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:33,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:33,756 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-15 07:31:33,756 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-15 07:31:33,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:33,758 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:31:33,758 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:31:33,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:33,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:33,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:31:33,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:31:33,759 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-15 07:31:33,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-15 07:31:33,760 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-15 07:31:33,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:31:33,761 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-15 07:31:33,761 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-15 07:31:33,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-15 07:31:33,894 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-15 07:31:33,895 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:31:33,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:31:33,895 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:31:33,895 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-15 07:31:33,911 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 07:31:34,099 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 07:31:34,099 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:31:34,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:31:34,100 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-15 07:31:34,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:34,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [141242244] [2022-04-15 07:31:34,142 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:31:34,142 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:31:34,142 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:31:34,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-15 07:31:34,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:31:34,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545511640] [2022-04-15 07:31:34,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:31:34,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:31:34,156 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:31:34,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1210079072] [2022-04-15 07:31:34,156 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:31:34,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:34,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:31:34,157 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:31:34,158 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 07:31:34,209 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:31:34,209 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:31:34,210 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:31:34,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:31:34,222 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:31:34,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:31:34,704 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-15 07:31:34,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:34,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:31:34,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:31:34,705 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-15 07:31:34,705 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-15 07:31:34,705 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-15 07:31:34,705 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-15 07:31:34,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:31:34,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:31:34,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:34,707 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-15 07:31:34,707 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-15 07:31:34,708 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-15 07:31:34,708 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-15 07:31:34,708 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-15 07:31:34,709 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-15 07:31:34,709 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-15 07:31:34,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:31:34,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:31:34,709 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:34,710 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-15 07:31:34,710 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-15 07:31:34,710 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-15 07:31:34,711 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-15 07:31:34,711 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-15 07:31:34,712 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-15 07:31:34,712 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-15 07:31:34,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:34,713 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-15 07:31:34,713 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-15 07:31:34,716 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-15 07:31:34,716 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-15 07:31:34,717 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-15 07:31:34,718 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-15 07:31:34,718 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:34,718 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:31:34,718 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:31:34,719 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-15 07:31:34,719 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:35,383 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:31:35,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:31:35,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:31:35,385 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-15 07:31:35,386 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-15 07:31:35,387 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-15 07:31:35,388 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-15 07:31:35,389 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-15 07:31:35,389 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-15 07:31:35,390 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-15 07:31:35,390 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-15 07:31:35,391 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-15 07:31:35,391 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-15 07:31:35,393 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-15 07:31:35,395 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-15 07:31:35,397 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-15 07:31:35,397 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:31:35,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:35,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:31:35,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:31:35,398 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-15 07:31:35,398 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-15 07:31:35,398 INFO L290 TraceCheckUtils]: 16: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-15 07:31:35,398 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-15 07:31:35,398 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-15 07:31:35,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5579#true} is VALID [2022-04-15 07:31:35,398 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:31:35,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:35,399 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:31:35,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:31:35,399 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-15 07:31:35,399 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-15 07:31:35,399 INFO L290 TraceCheckUtils]: 6: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-15 07:31:35,399 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-15 07:31:35,399 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:31:35,399 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:31:35,399 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:31:35,399 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-15 07:31:35,400 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:31:35,400 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-15 07:31:35,400 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:35,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545511640] [2022-04-15 07:31:35,400 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:35,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1210079072] [2022-04-15 07:31:35,400 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1210079072] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:35,401 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:35,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 07:31:35,401 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:35,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [141242244] [2022-04-15 07:31:35,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [141242244] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:35,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:35,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:31:35,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1122184333] [2022-04-15 07:31:35,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:35,402 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-15 07:31:35,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:35,402 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-15 07:31:35,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:35,439 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:31:35,439 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:35,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:31:35,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:31:35,440 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-15 07:31:36,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:36,393 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:31:36,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:31:36,393 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-15 07:31:36,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:31:36,394 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-15 07:31:36,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:31:36,395 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-15 07:31:36,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:31:36,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-15 07:31:36,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:36,441 INFO L225 Difference]: With dead ends: 97 [2022-04-15 07:31:36,441 INFO L226 Difference]: Without dead ends: 89 [2022-04-15 07:31:36,441 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-15 07:31:36,446 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-15 07:31:36,446 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-15 07:31:36,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-15 07:31:36,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-15 07:31:36,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:31:36,519 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-15 07:31:36,520 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-15 07:31:36,520 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-15 07:31:36,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:36,522 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:31:36,522 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:31:36,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:36,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:36,523 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-15 07:31:36,523 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-15 07:31:36,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:31:36,525 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:31:36,525 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:31:36,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:31:36,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:31:36,525 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:31:36,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:31:36,526 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-15 07:31:36,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-15 07:31:36,527 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-15 07:31:36,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:31:36,527 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-15 07:31:36,527 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-15 07:31:36,527 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-15 07:31:38,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 83 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:31:38,656 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-15 07:31:38,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:31:38,657 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:31:38,657 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-15 07:31:38,673 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 07:31:38,857 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 07:31:38,858 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:31:38,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:31:38,858 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-15 07:31:38,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:31:38,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2032667219] [2022-04-15 07:31:38,918 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:31:38,918 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:31:38,918 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:31:38,918 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-15 07:31:38,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:31:38,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875205978] [2022-04-15 07:31:38,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:31:38,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:31:38,930 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:31:38,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [697172222] [2022-04-15 07:31:38,930 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:31:38,930 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:31:38,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:31:38,931 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-15 07:31:38,942 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-15 07:31:38,978 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:31:38,978 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:31:38,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:31:38,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:31:38,991 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:31:53,160 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:32:24,502 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:32:24,502 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-15 07:32:24,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:24,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:32:24,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:32:24,503 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-15 07:32:24,503 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-15 07:32:24,504 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-15 07:32:24,504 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-15 07:32:24,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:32:24,504 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:32:24,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:24,505 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:32:24,505 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-15 07:32:24,505 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-15 07:32:24,505 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-15 07:32:24,506 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-15 07:32:24,506 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-15 07:32:24,506 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-15 07:32:24,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:32:24,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:32:24,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:24,507 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-15 07:32:24,507 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-15 07:32:24,507 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-15 07:32:24,508 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-15 07:32:24,508 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-15 07:32:24,508 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-15 07:32:24,509 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-15 07:32:24,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:32:24,509 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-15 07:32:24,510 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-15 07:32:24,511 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-15 07:32:24,511 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-15 07:32:24,512 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-15 07:32:24,513 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-15 07:32:24,514 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-15 07:32:26,516 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-15 07:32:26,518 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-15 07:32:26,519 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:32:26,519 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:32:26,519 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:32:26,519 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-15 07:32:26,519 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:32:27,146 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:32:27,150 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:32:27,151 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:32:27,152 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-15 07:32:27,153 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-15 07:32:27,154 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-15 07:32:27,155 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-15 07:32:27,156 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-15 07:32:27,157 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-15 07:32:27,158 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-15 07:32:27,158 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-15 07:32:27,159 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-15 07:32:27,159 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-15 07:32:27,159 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-15 07:32:27,160 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-15 07:32:27,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:32:27,160 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-15 07:32:27,161 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-15 07:32:27,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:32:27,161 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:32:27,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:27,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:32:27,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:32:27,161 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-15 07:32:27,161 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-15 07:32:27,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:32:27,161 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-15 07:32:27,162 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-15 07:32:27,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:32:27,162 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:32:27,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:27,162 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:32:27,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:32:27,162 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-15 07:32:27,162 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-15 07:32:27,162 INFO L290 TraceCheckUtils]: 6: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-15 07:32:27,162 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-15 07:32:27,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:32:27,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:32:27,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:32:27,163 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-15 07:32:27,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:32:27,163 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-15 07:32:27,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:32:27,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875205978] [2022-04-15 07:32:27,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:32:27,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [697172222] [2022-04-15 07:32:27,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [697172222] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:32:27,164 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:32:27,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-15 07:32:27,164 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:32:27,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2032667219] [2022-04-15 07:32:27,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2032667219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:32:27,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:32:27,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:32:27,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [717158089] [2022-04-15 07:32:27,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:32:27,165 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-15 07:32:27,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:32:27,166 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-15 07:32:29,201 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-15 07:32:29,201 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:32:29,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:29,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:32:29,202 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:32:29,202 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-15 07:32:45,492 WARN L232 SmtUtils]: Spent 16.15s 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-15 07:32:47,806 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-15 07:32:49,874 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-15 07:32:52,052 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-15 07:32:56,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:56,228 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-04-15 07:32:56,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:32:56,229 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-15 07:32:56,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:56,229 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-15 07:32:56,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:32:56,230 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-15 07:32:56,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:32:56,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-15 07:32:58,278 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-15 07:32:58,280 INFO L225 Difference]: With dead ends: 102 [2022-04-15 07:32:58,280 INFO L226 Difference]: Without dead ends: 97 [2022-04-15 07:32:58,281 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 20.7s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-15 07:32:58,281 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 23 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 86 mSolverCounterSat, 8 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.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, 86 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:32:58,281 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 66 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 86 Invalid, 3 Unknown, 0 Unchecked, 6.3s Time] [2022-04-15 07:32:58,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-15 07:32:58,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-15 07:32:58,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:58,378 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-15 07:32:58,378 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-15 07:32:58,378 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-15 07:32:58,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:58,380 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:32:58,380 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:32:58,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:58,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:58,381 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-15 07:32:58,381 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-15 07:32:58,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:58,383 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:32:58,383 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:32:58,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:58,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:58,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:58,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:58,384 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-15 07:32:58,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-15 07:32:58,386 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-15 07:32:58,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:58,386 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-15 07:32:58,386 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-15 07:32:58,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-15 07:33:01,432 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-15 07:33:01,432 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-15 07:33:01,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:33:01,432 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:01,433 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-15 07:33:01,449 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-15 07:33:01,633 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-15 07:33:01,633 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:01,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:01,634 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-15 07:33:01,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:01,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1714377768] [2022-04-15 07:33:01,722 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:01,722 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:01,722 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:01,722 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-15 07:33:01,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:01,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [113628856] [2022-04-15 07:33:01,722 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:01,723 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:01,734 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:01,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1693704742] [2022-04-15 07:33:01,734 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:33:01,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:01,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:01,736 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-15 07:33:01,769 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-15 07:33:01,804 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:33:01,804 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:01,805 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:33:01,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:01,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:16,519 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:33:21,348 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:33:21,348 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-15 07:33:21,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:21,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:33:21,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:33:21,349 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-15 07:33:21,351 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-15 07:33:21,352 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-15 07:33:21,352 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-15 07:33:21,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:33:21,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:33:21,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:21,352 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:33:21,355 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-15 07:33:21,355 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-15 07:33:21,356 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-15 07:33:21,356 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-15 07:33:21,356 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-15 07:33:21,357 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-15 07:33:21,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:33:21,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:33:21,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:21,358 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-15 07:33:21,358 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-15 07:33:21,358 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-15 07:33:21,359 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-15 07:33:21,359 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-15 07:33:21,360 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-15 07:33:21,360 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-15 07:33:21,360 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:21,361 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-15 07:33:21,361 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-15 07:33:21,363 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-15 07:33:21,363 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-15 07:33:21,364 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-15 07:33:21,366 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-15 07:33:21,366 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-15 07:33:23,368 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-15 07:33:23,371 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-15 07:33:23,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:23,371 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:33:23,371 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:33:23,372 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-15 07:33:23,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:28,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:33:28,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:33:28,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:28,486 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-15 07:33:28,487 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-15 07:33:28,487 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-15 07:33:28,488 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-15 07:33:28,490 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-15 07:33:28,490 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-15 07:33:28,491 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-15 07:33:28,492 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-15 07:33:28,492 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-15 07:33:28,492 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-15 07:33:28,492 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-15 07:33:28,493 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-15 07:33:28,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:33:28,493 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-15 07:33:28,493 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-15 07:33:28,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:33:28,494 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-15 07:33:28,494 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-15 07:33:28,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:33:28,494 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-15 07:33:28,494 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-15 07:33:28,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:33:28,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:28,495 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:33:28,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:33:28,495 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-15 07:33:28,495 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-15 07:33:28,495 INFO L290 TraceCheckUtils]: 6: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-15 07:33:28,495 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-15 07:33:28,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:33:28,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:33:28,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:33:28,496 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-15 07:33:28,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:33:28,496 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-15 07:33:28,496 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:28,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [113628856] [2022-04-15 07:33:28,496 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:28,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693704742] [2022-04-15 07:33:28,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693704742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:28,497 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:28,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-15 07:33:28,497 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:28,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1714377768] [2022-04-15 07:33:28,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1714377768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:28,497 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:28,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:33:28,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822989460] [2022-04-15 07:33:28,498 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:28,498 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-15 07:33:28,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:28,498 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-15 07:33:30,536 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-15 07:33:30,536 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:33:30,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:30,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:33:30,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:33:30,537 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-15 07:33:32,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:32,849 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-15 07:33:32,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:33:32,850 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-15 07:33:32,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:32,850 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-15 07:33:32,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:33:32,851 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-15 07:33:32,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:33:32,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-15 07:33:34,900 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-15 07:33:34,901 INFO L225 Difference]: With dead ends: 103 [2022-04-15 07:33:34,901 INFO L226 Difference]: Without dead ends: 101 [2022-04-15 07:33:34,902 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:33:34,902 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-15 07:33:34,902 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-15 07:33:34,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-15 07:33:34,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-15 07:33:34,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:34,991 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-15 07:33:34,991 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-15 07:33:34,992 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-15 07:33:34,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:34,993 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:33:34,993 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:33:34,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:34,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:34,993 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-15 07:33:34,994 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-15 07:33:34,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:34,996 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:33:34,996 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:33:34,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:34,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:34,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:34,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:34,996 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-15 07:33:34,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-15 07:33:34,998 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-15 07:33:34,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:34,999 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-15 07:33:34,999 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-15 07:33:34,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-15 07:33:39,343 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-15 07:33:39,343 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-15 07:33:39,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:33:39,343 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:39,343 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-15 07:33:39,360 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-15 07:33:39,544 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-15 07:33:39,544 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:39,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:39,544 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-15 07:33:39,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:39,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1983577262] [2022-04-15 07:33:39,631 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:39,631 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:39,631 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:39,631 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-15 07:33:39,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:39,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [615862917] [2022-04-15 07:33:39,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:39,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:39,641 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:39,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [768530030] [2022-04-15 07:33:39,641 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:33:39,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:39,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:39,643 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-15 07:33:39,673 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-15 07:33:39,706 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:33:39,707 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:39,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 07:33:39,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:39,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:33:40,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:33:40,282 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-15 07:33:40,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:33:40,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:33:40,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:33:40,283 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-15 07:33:40,283 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-15 07:33:40,284 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-15 07:33:40,284 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-15 07:33:40,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:33:40,284 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:33:40,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:33:40,285 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-15 07:33:40,285 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-15 07:33:40,286 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-15 07:33:40,287 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-15 07:33:40,287 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-15 07:33:40,288 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-15 07:33:40,288 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-15 07:33:40,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:40,289 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-15 07:33:40,289 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-15 07:33:40,290 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-15 07:33:40,290 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-15 07:33:40,291 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-15 07:33:40,292 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-15 07:33:40,292 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-15 07:33:40,293 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-15 07:33:40,293 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-15 07:33:40,293 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:40,293 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-15 07:33:40,294 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-15 07:33:40,295 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-15 07:33:40,299 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-15 07:33:40,300 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-15 07:33:40,301 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-15 07:33:40,302 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-15 07:33:40,303 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-15 07:33:40,304 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-15 07:33:40,304 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:40,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:33:40,312 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:33:40,313 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-15 07:33:40,313 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:46,288 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:33:46,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:33:46,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:33:46,290 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-15 07:33:46,290 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-15 07:33:46,291 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-15 07:33:46,292 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-15 07:33:46,294 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-15 07:33:46,295 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-15 07:33:46,295 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-15 07:33:46,296 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-15 07:33:46,296 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-15 07:33:46,296 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-15 07:33:46,296 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-15 07:33:46,297 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-15 07:33:46,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:33:46,298 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-15 07:33:46,298 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-15 07:33:46,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:33:46,298 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:33:46,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:33:46,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:33:46,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:33:46,298 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-15 07:33:46,298 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-15 07:33:46,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:33:46,298 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-15 07:33:46,298 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-15 07:33:46,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:33:46,298 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:33:46,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:33:46,299 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:33:46,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:33:46,299 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-15 07:33:46,299 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-15 07:33:46,299 INFO L290 TraceCheckUtils]: 6: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-15 07:33:46,299 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-15 07:33:46,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:33:46,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:33:46,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:33:46,299 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-15 07:33:46,299 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:33:46,300 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-15 07:33:46,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:46,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [615862917] [2022-04-15 07:33:46,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:46,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [768530030] [2022-04-15 07:33:46,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [768530030] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:46,300 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:46,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-15 07:33:46,300 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:46,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1983577262] [2022-04-15 07:33:46,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1983577262] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:46,300 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:46,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:33:46,301 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [214427875] [2022-04-15 07:33:46,301 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:46,301 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-15 07:33:46,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:46,301 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-15 07:33:46,341 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-15 07:33:46,341 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:33:46,341 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:46,341 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:33:46,342 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:33:46,342 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-15 07:33:47,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:47,715 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-15 07:33:47,715 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:33:47,715 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-15 07:33:47,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:33:47,715 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-15 07:33:47,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:33:47,716 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-15 07:33:47,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:33:47,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-15 07:33:47,777 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-15 07:33:47,778 INFO L225 Difference]: With dead ends: 113 [2022-04-15 07:33:47,778 INFO L226 Difference]: Without dead ends: 111 [2022-04-15 07:33:47,779 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-15 07:33:47,779 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-15 07:33:47,779 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-15 07:33:47,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-15 07:33:47,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-15 07:33:47,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:33:47,897 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-15 07:33:47,898 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-15 07:33:47,898 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-15 07:33:47,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:47,900 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:33:47,900 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:33:47,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:47,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:47,900 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-15 07:33:47,901 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-15 07:33:47,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:33:47,902 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:33:47,902 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:33:47,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:33:47,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:33:47,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:33:47,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:33:47,903 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-15 07:33:47,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-15 07:33:47,905 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-15 07:33:47,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:33:47,906 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-15 07:33:47,906 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-15 07:33:47,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-15 07:33:52,134 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-15 07:33:52,134 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-15 07:33:52,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:33:52,135 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:33:52,135 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-15 07:33:52,151 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-15 07:33:52,339 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-15 07:33:52,340 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:33:52,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:33:52,340 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-15 07:33:52,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:52,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [501561564] [2022-04-15 07:33:52,433 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:33:52,433 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:33:52,433 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:33:52,433 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-15 07:33:52,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:33:52,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [361880497] [2022-04-15 07:33:52,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:33:52,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:33:52,444 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:33:52,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [493425120] [2022-04-15 07:33:52,444 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:33:52,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:33:52,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:33:52,446 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-15 07:33:52,449 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-15 07:33:52,505 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:33:52,505 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:33:52,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:33:52,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:33:52,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:34:13,889 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:34:26,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:34:26,077 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-15 07:34:26,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:26,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:34:26,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:34:26,078 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-15 07:34:26,078 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-15 07:34:26,078 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-15 07:34:26,078 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-15 07:34:26,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:34:26,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:34:26,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:26,079 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9068#(= main_~x~0 0)} #58#return; {9068#(= main_~x~0 0)} is VALID [2022-04-15 07:34:26,079 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-15 07:34:26,080 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-15 07:34:26,085 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-15 07:34:26,085 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-15 07:34:26,085 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-15 07:34:26,085 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-15 07:34:26,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:34:26,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:34:26,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:26,086 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9099#(= main_~x~0 1)} #58#return; {9099#(= main_~x~0 1)} is VALID [2022-04-15 07:34:26,086 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-15 07:34:26,087 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-15 07:34:26,087 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-15 07:34:26,087 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-15 07:34:26,088 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-15 07:34:26,088 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-15 07:34:26,088 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:26,088 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-15 07:34:26,089 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-15 07:34:26,090 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-15 07:34:26,090 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-15 07:34:26,091 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-15 07:34:26,091 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-15 07:34:26,092 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-15 07:34:28,094 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-15 07:34:28,096 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-15 07:34:28,096 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:28,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:34:28,097 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:34:28,097 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-15 07:34:28,097 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:34:30,328 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:34:30,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:34:30,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:34:30,330 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-15 07:34:30,330 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-15 07:34:30,331 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-15 07:34:30,333 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-15 07:34:30,333 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-15 07:34:30,334 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-15 07:34:30,334 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-15 07:34:30,335 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-15 07:34:30,335 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-15 07:34:30,335 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-15 07:34:30,335 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-15 07:34:30,336 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-15 07:34:30,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:34:30,336 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-15 07:34:30,337 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-15 07:34:30,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:34:30,337 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-15 07:34:30,337 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-15 07:34:30,337 INFO L290 TraceCheckUtils]: 16: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:34:30,337 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-15 07:34:30,337 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-15 07:34:30,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:34:30,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:30,338 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:34:30,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:34:30,338 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-15 07:34:30,338 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-15 07:34:30,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-15 07:34:30,338 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-15 07:34:30,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:34:30,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:34:30,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:34:30,338 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-15 07:34:30,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:34:30,338 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-15 07:34:30,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:34:30,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [361880497] [2022-04-15 07:34:30,339 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:34:30,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [493425120] [2022-04-15 07:34:30,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [493425120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:34:30,339 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:34:30,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 07:34:30,339 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:34:30,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [501561564] [2022-04-15 07:34:30,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [501561564] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:34:30,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:34:30,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:34:30,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822352786] [2022-04-15 07:34:30,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:34:30,340 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-15 07:34:30,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:34:30,341 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-15 07:34:32,377 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-15 07:34:32,377 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:34:32,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:32,378 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:34:32,378 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:34:32,378 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-15 07:34:35,166 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-15 07:34:55,422 WARN L232 SmtUtils]: Spent 20.10s 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-15 07:34:58,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:58,355 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-15 07:34:58,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:34:58,355 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-15 07:34:58,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:34:58,355 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-15 07:34:58,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:34:58,357 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-15 07:34:58,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:34:58,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 07:35:00,438 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-15 07:35:00,441 INFO L225 Difference]: With dead ends: 150 [2022-04-15 07:35:00,442 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 07:35:00,442 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 20.6s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:35:00,442 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 22 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 330 mSolverCounterSat, 7 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 330 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:35:00,442 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 184 Invalid, 338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 330 Invalid, 1 Unknown, 0 Unchecked, 2.7s Time] [2022-04-15 07:35:00,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 07:35:00,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-15 07:35:00,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:00,541 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-15 07:35:00,541 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-15 07:35:00,541 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-15 07:35:00,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:00,543 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:35:00,543 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:35:00,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:00,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:00,544 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-15 07:35:00,544 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-15 07:35:00,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:00,547 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:35:00,547 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:35:00,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:00,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:00,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:00,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:00,548 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-15 07:35:00,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-15 07:35:00,550 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-15 07:35:00,550 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:00,550 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-15 07:35:00,550 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-15 07:35:00,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-15 07:35:06,861 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-15 07:35:06,862 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-15 07:35:06,862 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 07:35:06,862 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:06,862 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-15 07:35:06,891 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 07:35:07,063 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-15 07:35:07,063 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:07,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:07,064 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-15 07:35:07,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:07,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1932420711] [2022-04-15 07:35:07,171 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:07,171 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:07,171 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:07,171 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-15 07:35:07,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:07,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242000654] [2022-04-15 07:35:07,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:07,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:07,180 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:07,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [512054592] [2022-04-15 07:35:07,180 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:35:07,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:07,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:07,181 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-15 07:35:07,188 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-15 07:35:07,226 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:35:07,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:07,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 07:35:07,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:07,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:07,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:35:07,434 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-15 07:35:07,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {10146#(<= ~counter~0 0)} assume true; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:07,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10146#(<= ~counter~0 0)} {10138#true} #62#return; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:07,435 INFO L272 TraceCheckUtils]: 4: Hoare triple {10146#(<= ~counter~0 0)} call #t~ret9 := main(); {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:35:07,435 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-15 07:35:07,436 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-15 07:35:07,437 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-15 07:35:07,437 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-15 07:35:07,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= ~counter~0 1)} ~cond := #in~cond; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:07,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= ~counter~0 1)} assume !(0 == ~cond); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:07,438 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= ~counter~0 1)} assume true; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:07,439 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10162#(<= ~counter~0 1)} {10162#(<= ~counter~0 1)} #58#return; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:07,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:35:07,439 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-15 07:35:07,440 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-15 07:35:07,440 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-15 07:35:07,441 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-15 07:35:07,441 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-15 07:35:07,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {10193#(<= ~counter~0 2)} ~cond := #in~cond; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:07,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {10193#(<= ~counter~0 2)} assume !(0 == ~cond); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:07,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {10193#(<= ~counter~0 2)} assume true; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:07,450 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10193#(<= ~counter~0 2)} {10193#(<= ~counter~0 2)} #58#return; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:07,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {10193#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:35:07,451 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-15 07:35:07,451 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-15 07:35:07,453 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-15 07:35:07,453 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-15 07:35:07,453 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-15 07:35:07,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#(<= ~counter~0 3)} ~cond := #in~cond; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:35:07,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#(<= ~counter~0 3)} assume !(0 == ~cond); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:35:07,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#(<= ~counter~0 3)} assume true; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:35:07,455 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#(<= ~counter~0 3)} {10224#(<= ~counter~0 3)} #58#return; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:35:07,455 INFO L290 TraceCheckUtils]: 33: Hoare triple {10224#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:35:07,455 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-15 07:35:07,456 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-15 07:35:07,456 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-15 07:35:07,456 INFO L290 TraceCheckUtils]: 37: Hoare triple {10255#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:35:07,456 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-15 07:35:07,456 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-15 07:35:07,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:35:07,457 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:35:07,457 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:35:07,457 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-15 07:35:07,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:07,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:35:07,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:35:07,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:35:07,699 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-15 07:35:07,699 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-15 07:35:07,699 INFO L290 TraceCheckUtils]: 37: Hoare triple {10289#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:35:07,700 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-15 07:35:07,700 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-15 07:35:07,700 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-15 07:35:07,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {10293#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {10293#(< ~counter~0 100)} is VALID [2022-04-15 07:35:07,701 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10138#true} {10293#(< ~counter~0 100)} #58#return; {10293#(< ~counter~0 100)} is VALID [2022-04-15 07:35:07,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:35:07,701 INFO L290 TraceCheckUtils]: 30: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:35:07,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:35:07,701 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-15 07:35:07,702 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-15 07:35:07,712 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-15 07:35:07,713 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-15 07:35:07,713 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-15 07:35:07,714 INFO L290 TraceCheckUtils]: 23: Hoare triple {10324#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {10324#(< ~counter~0 99)} is VALID [2022-04-15 07:35:07,716 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10138#true} {10324#(< ~counter~0 99)} #58#return; {10324#(< ~counter~0 99)} is VALID [2022-04-15 07:35:07,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:35:07,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:35:07,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:35:07,716 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-15 07:35:07,717 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-15 07:35:07,721 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-15 07:35:07,721 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-15 07:35:07,722 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-15 07:35:07,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#(< ~counter~0 98)} assume !!(~x~0 <= ~X~0); {10355#(< ~counter~0 98)} is VALID [2022-04-15 07:35:07,723 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10138#true} {10355#(< ~counter~0 98)} #58#return; {10355#(< ~counter~0 98)} is VALID [2022-04-15 07:35:07,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:35:07,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:35:07,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:35:07,723 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-15 07:35:07,723 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-15 07:35:07,724 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-15 07:35:07,725 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-15 07:35:07,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {10386#(< ~counter~0 97)} call #t~ret9 := main(); {10386#(< ~counter~0 97)} is VALID [2022-04-15 07:35:07,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10386#(< ~counter~0 97)} {10138#true} #62#return; {10386#(< ~counter~0 97)} is VALID [2022-04-15 07:35:07,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {10386#(< ~counter~0 97)} assume true; {10386#(< ~counter~0 97)} is VALID [2022-04-15 07:35:07,726 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-15 07:35:07,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:35:07,727 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-15 07:35:07,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:07,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [242000654] [2022-04-15 07:35:07,727 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:07,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [512054592] [2022-04-15 07:35:07,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [512054592] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:07,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:07,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 07:35:07,728 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:07,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1932420711] [2022-04-15 07:35:07,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1932420711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:07,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:07,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:35:07,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1945411890] [2022-04-15 07:35:07,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:07,729 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-15 07:35:07,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:07,729 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-15 07:35:07,761 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-15 07:35:07,762 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:35:07,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:07,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:35:07,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:35:07,762 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-15 07:35:08,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:08,012 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 07:35:08,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:35:08,012 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-15 07:35:08,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:08,012 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-15 07:35:08,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:35:08,015 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-15 07:35:08,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:35:08,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-15 07:35:08,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:35:08,083 INFO L225 Difference]: With dead ends: 131 [2022-04-15 07:35:08,083 INFO L226 Difference]: Without dead ends: 123 [2022-04-15 07:35:08,084 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-15 07:35:08,084 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-15 07:35:08,084 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-15 07:35:08,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-15 07:35:08,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-15 07:35:08,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:08,262 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-15 07:35:08,262 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-15 07:35:08,262 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-15 07:35:08,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:08,267 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:35:08,267 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:35:08,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:08,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:08,268 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-15 07:35:08,268 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-15 07:35:08,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:08,270 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:35:08,270 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:35:08,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:08,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:08,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:08,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:08,271 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-15 07:35:08,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-15 07:35:08,273 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-15 07:35:08,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:08,274 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-15 07:35:08,274 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-15 07:35:08,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-15 07:35:19,493 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-15 07:35:19,493 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-15 07:35:19,494 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:35:19,494 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:19,494 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-15 07:35:19,512 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-15 07:35:19,694 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-15 07:35:19,695 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:19,695 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:19,695 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-15 07:35:19,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:19,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [558463004] [2022-04-15 07:35:19,779 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:19,779 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:19,779 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:19,779 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-15 07:35:19,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:19,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1511730336] [2022-04-15 07:35:19,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:19,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:19,791 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:19,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1704785104] [2022-04-15 07:35:19,792 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:35:19,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:19,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:19,793 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-15 07:35:19,794 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-15 07:35:19,837 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:35:19,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:19,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 07:35:19,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:19,854 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:20,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:35:20,730 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-15 07:35:20,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:20,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:35:20,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:35:20,731 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-15 07:35:20,732 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-15 07:35:20,732 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-15 07:35:20,732 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-15 07:35:20,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:20,733 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:20,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:20,733 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-15 07:35:20,734 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-15 07:35:20,735 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-15 07:35:20,736 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-15 07:35:20,736 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-15 07:35:20,737 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-15 07:35:20,737 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-15 07:35:20,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:20,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:20,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:20,738 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-15 07:35:20,738 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-15 07:35:20,740 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-15 07:35:20,741 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-15 07:35:20,741 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-15 07:35:20,742 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-15 07:35:20,742 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-15 07:35:20,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:20,742 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:20,742 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:20,743 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-15 07:35:20,743 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-15 07:35:20,744 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-15 07:35:20,746 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-15 07:35:20,746 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-15 07:35:20,747 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-15 07:35:20,747 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-15 07:35:20,747 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:20,747 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:20,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:20,748 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-15 07:35:20,749 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-15 07:35:20,749 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-15 07:35:20,749 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-15 07:35:20,749 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:35:20,749 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:35:20,749 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:35:20,749 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-15 07:35:20,750 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:21,212 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:35:21,212 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:35:21,212 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:35:21,212 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-15 07:35:21,213 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-15 07:35:21,213 INFO L290 TraceCheckUtils]: 43: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-15 07:35:21,213 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-15 07:35:21,213 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:21,214 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:21,214 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:21,214 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-15 07:35:21,214 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-15 07:35:21,214 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-15 07:35:21,215 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-15 07:35:21,216 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-15 07:35:21,216 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-15 07:35:21,217 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-15 07:35:21,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:21,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:21,217 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:21,217 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-15 07:35:21,217 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-15 07:35:21,218 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-15 07:35:21,218 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-15 07:35:21,219 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-15 07:35:21,219 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-15 07:35:21,220 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-15 07:35:21,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:21,220 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:21,220 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:21,220 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-15 07:35:21,221 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-15 07:35:21,221 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-15 07:35:21,222 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-15 07:35:21,223 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-15 07:35:21,223 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-15 07:35:21,224 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-15 07:35:21,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:21,224 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:35:21,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:35:21,224 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-15 07:35:21,224 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-15 07:35:21,225 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-15 07:35:21,226 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-15 07:35:21,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:35:21,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:35:21,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:35:21,226 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-15 07:35:21,226 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:35:21,226 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-15 07:35:21,226 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:21,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1511730336] [2022-04-15 07:35:21,226 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:21,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1704785104] [2022-04-15 07:35:21,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1704785104] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:21,227 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:21,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-15 07:35:21,227 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:21,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [558463004] [2022-04-15 07:35:21,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [558463004] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:21,227 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:21,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:35:21,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [47924160] [2022-04-15 07:35:21,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:21,228 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-15 07:35:21,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:21,228 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-15 07:35:21,261 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-15 07:35:21,261 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:35:21,261 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:21,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:35:21,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:35:21,262 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-15 07:35:21,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:21,926 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-15 07:35:21,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:35:21,926 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-15 07:35:21,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:21,927 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-15 07:35:21,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:35:21,928 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-15 07:35:21,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:35:21,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-15 07:35:21,983 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-15 07:35:21,985 INFO L225 Difference]: With dead ends: 136 [2022-04-15 07:35:21,986 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 07:35:21,986 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:35:21,986 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-15 07:35:21,987 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-15 07:35:21,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 07:35:22,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-15 07:35:22,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:22,138 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-15 07:35:22,138 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-15 07:35:22,138 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-15 07:35:22,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:22,140 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:35:22,140 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:35:22,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:22,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:22,141 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-15 07:35:22,141 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-15 07:35:22,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:22,144 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:35:22,144 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:35:22,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:22,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:22,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:22,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:22,145 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-15 07:35:22,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-15 07:35:22,147 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-15 07:35:22,147 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:22,147 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-15 07:35:22,148 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-15 07:35:22,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-15 07:35:34,518 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-15 07:35:34,519 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-15 07:35:34,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:35:34,519 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:34,519 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-15 07:35:34,536 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-15 07:35:34,720 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-15 07:35:34,720 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:34,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:34,721 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-15 07:35:34,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:34,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1984163501] [2022-04-15 07:35:34,814 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:34,814 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:34,814 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:34,814 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-15 07:35:34,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:34,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [887563101] [2022-04-15 07:35:34,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:34,815 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:34,823 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:34,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1666716928] [2022-04-15 07:35:34,824 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:35:34,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:34,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:34,825 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:35:34,827 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-15 07:35:34,879 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:35:34,879 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:34,880 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 07:35:34,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:34,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:36,218 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:35:36,218 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-15 07:35:36,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:35:36,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:35:36,219 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-15 07:35:36,219 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-15 07:35:36,220 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-15 07:35:36,220 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-15 07:35:36,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,220 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,221 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-15 07:35:36,223 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-15 07:35:36,225 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-15 07:35:36,225 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-15 07:35:36,225 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-15 07:35:36,226 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-15 07:35:36,226 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-15 07:35:36,226 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,226 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,227 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-15 07:35:36,227 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-15 07:35:36,228 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-15 07:35:36,229 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-15 07:35:36,229 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-15 07:35:36,229 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-15 07:35:36,230 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-15 07:35:36,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,230 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-15 07:35:36,231 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-15 07:35:36,231 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-15 07:35:36,232 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-15 07:35:36,232 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-15 07:35:36,232 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-15 07:35:36,233 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-15 07:35:36,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,233 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-15 07:35:36,234 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-15 07:35:36,234 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-15 07:35:36,234 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-15 07:35:36,234 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:35:36,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:35:36,234 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:35:36,235 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-15 07:35:36,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:36,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:35:36,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:35:36,575 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:35:36,575 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-15 07:35:36,575 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-15 07:35:36,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-15 07:35:36,576 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-15 07:35:36,576 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,576 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-15 07:35:36,576 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-15 07:35:36,577 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-15 07:35:36,578 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-15 07:35:36,578 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-15 07:35:36,578 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-15 07:35:36,579 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-15 07:35:36,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,579 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-15 07:35:36,579 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-15 07:35:36,580 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-15 07:35:36,580 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-15 07:35:36,581 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-15 07:35:36,581 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-15 07:35:36,582 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-15 07:35:36,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,582 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-15 07:35:36,582 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-15 07:35:36,583 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-15 07:35:36,584 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-15 07:35:36,584 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-15 07:35:36,585 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-15 07:35:36,585 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-15 07:35:36,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,585 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:35:36,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:35:36,586 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-15 07:35:36,586 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-15 07:35:36,586 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-15 07:35:36,587 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-15 07:35:36,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:35:36,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:35:36,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:35:36,588 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-15 07:35:36,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:35:36,588 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-15 07:35:36,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:36,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [887563101] [2022-04-15 07:35:36,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:36,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1666716928] [2022-04-15 07:35:36,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1666716928] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:36,588 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:36,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 07:35:36,589 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:36,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1984163501] [2022-04-15 07:35:36,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1984163501] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:36,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:36,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:35:36,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2120605663] [2022-04-15 07:35:36,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:36,589 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-15 07:35:36,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:36,590 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-15 07:35:36,629 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-15 07:35:36,629 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:35:36,629 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:36,629 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:35:36,629 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:35:36,630 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-15 07:35:37,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:37,260 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-15 07:35:37,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:35:37,260 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-15 07:35:37,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:35:37,260 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-15 07:35:37,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:35:37,261 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-15 07:35:37,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:35:37,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-15 07:35:37,334 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-15 07:35:37,336 INFO L225 Difference]: With dead ends: 138 [2022-04-15 07:35:37,337 INFO L226 Difference]: Without dead ends: 130 [2022-04-15 07:35:37,337 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-15 07:35:37,337 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-15 07:35:37,338 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-15 07:35:37,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-15 07:35:37,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-15 07:35:37,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:35:37,505 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-15 07:35:37,505 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-15 07:35:37,505 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-15 07:35:37,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:37,508 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:35:37,508 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:35:37,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:37,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:37,509 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-15 07:35:37,509 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-15 07:35:37,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:35:37,511 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:35:37,511 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:35:37,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:35:37,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:35:37,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:35:37,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:35:37,512 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-15 07:35:37,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-15 07:35:37,515 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-15 07:35:37,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:35:37,515 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-15 07:35:37,515 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-15 07:35:37,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-15 07:35:47,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 130 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 07:35:47,904 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-15 07:35:47,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:35:47,904 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:35:47,905 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-15 07:35:47,922 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-15 07:35:48,105 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-15 07:35:48,105 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:35:48,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:35:48,106 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-15 07:35:48,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:48,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [391607571] [2022-04-15 07:35:48,189 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:35:48,190 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:35:48,190 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:35:48,190 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-15 07:35:48,190 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:35:48,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735816302] [2022-04-15 07:35:48,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:35:48,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:35:48,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:35:48,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1923205814] [2022-04-15 07:35:48,200 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:35:48,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:35:48,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:35:48,201 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-15 07:35:48,208 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-15 07:35:48,259 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:35:48,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:35:48,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:35:48,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:35:48,273 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:59,465 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:36:07,007 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:36:12,926 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:36:27,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {13335#true} call ULTIMATE.init(); {13335#true} is VALID [2022-04-15 07:36:27,789 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-15 07:36:27,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:36:27,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13335#true} {13335#true} #62#return; {13335#true} is VALID [2022-04-15 07:36:27,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {13335#true} call #t~ret9 := main(); {13335#true} is VALID [2022-04-15 07:36:27,790 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-15 07:36:27,791 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-15 07:36:27,791 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-15 07:36:27,791 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-15 07:36:27,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:36:27,791 INFO L290 TraceCheckUtils]: 10: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:36:27,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:36:27,792 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-15 07:36:27,794 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-15 07:36:27,794 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-15 07:36:27,795 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-15 07:36:27,795 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-15 07:36:27,795 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-15 07:36:27,796 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-15 07:36:27,796 INFO L290 TraceCheckUtils]: 19: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:36:27,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:36:27,796 INFO L290 TraceCheckUtils]: 21: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:36:27,797 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-15 07:36:27,797 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-15 07:36:27,797 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-15 07:36:27,798 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-15 07:36:27,798 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-15 07:36:27,799 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-15 07:36:27,799 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-15 07:36:27,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:36:27,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:36:27,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:36:27,800 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-15 07:36:27,800 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-15 07:36:27,801 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-15 07:36:27,802 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-15 07:36:27,803 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-15 07:36:27,803 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-15 07:36:27,803 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-15 07:36:27,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {13335#true} ~cond := #in~cond; {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:36:27,804 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-15 07:36:27,804 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-15 07:36:27,806 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-15 07:36:27,807 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-15 07:36:29,810 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-15 07:36:29,812 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-15 07:36:29,813 INFO L290 TraceCheckUtils]: 46: Hoare triple {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13491#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:36:29,813 INFO L290 TraceCheckUtils]: 47: Hoare triple {13491#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13336#false} is VALID [2022-04-15 07:36:29,813 INFO L290 TraceCheckUtils]: 48: Hoare triple {13336#false} assume !false; {13336#false} is VALID [2022-04-15 07:36:29,813 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-15 07:36:29,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:32,667 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:32,702 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((aux_div_main_~v~0_57 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 Int) (aux_div_aux_mod_main_~v~0_57_59 Int)) (let ((.cse2 (* c_main_~X~0 c_main_~y~0)) (.cse1 (* (- 1) c_main_~Y~0))) (or (forall ((aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 Int)) (or (let ((.cse0 (div (+ (* (- 1) c_main_~Y~0) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 c_main_~X~0 (* c_main_~X~0 c_main_~y~0)) c_main_~Y~0))) (<= (+ .cse0 aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 (* .cse0 c_main_~y~0)) (+ c_main_~Y~0 (* c_main_~Y~0 .cse0) c_main_~y~0 1))) (<= (+ aux_div_aux_mod_aux_mod_main_~v~0_57_59_81 1) aux_div_aux_mod_main_~v~0_57_59) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_aux_mod_main_~v~0_57_59_81))) (<= (+ aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 1) aux_div_aux_mod_main_~v~0_57_59) (<= (+ aux_div_aux_mod_main_~v~0_57_59 1) aux_div_main_~v~0_57) (< (+ c_main_~X~0 1) (div (+ aux_div_aux_mod_main_~v~0_57_59 .cse1 c_main_~X~0 .cse2) c_main_~Y~0)) (<= (+ aux_div_main_~v~0_57 1) aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103) (<= (div (+ .cse1 aux_div_aux_mod_aux_mod_aux_mod_main_~v~0_57_59_81_103 c_main_~X~0 .cse2) c_main_~Y~0) c_main_~X~0) (not (= (mod (+ .cse1 (* c_main_~X~0 (+ c_main_~y~0 1)) aux_div_main_~v~0_57) c_main_~Y~0) 0))))) (= c_main_~Y~0 0)) is different from true