/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_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:30:18,316 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:30:18,318 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:30:18,343 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:30:18,343 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:30:18,344 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:30:18,345 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:30:18,347 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:30:18,352 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:30:18,353 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:30:18,354 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:30:18,355 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:30:18,355 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:30:18,356 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:30:18,356 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:30:18,357 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:30:18,358 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:30:18,359 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:30:18,360 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:30:18,362 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:30:18,363 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:30:18,364 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:30:18,365 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:30:18,366 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:30:18,367 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:30:18,370 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:30:18,370 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:30:18,370 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:30:18,371 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:30:18,372 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:30:18,373 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:30:18,373 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:30:18,374 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:30:18,374 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:30:18,375 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:30:18,376 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:30:18,376 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:30:18,377 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:30:18,377 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:30:18,377 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:30:18,378 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:30:18,379 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:30:18,379 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:30:18,387 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:30:18,387 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:30:18,388 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:30:18,388 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:30:18,388 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:30:18,388 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:30:18,389 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:30:18,390 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:30:18,390 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:30:18,390 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:30:18,390 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:30:18,390 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:30:18,390 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:30:18,391 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:30:18,391 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:30:18,391 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:30:18,391 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:30:18,391 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:30:18,391 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:30:18,607 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:30:18,630 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:30:18,632 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:30:18,633 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:30:18,633 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:30:18,635 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-15 07:30:18,697 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d012b2a3e/6ea98b6ee4f646238cffe317971dd2b6/FLAG88aeec9b8 [2022-04-15 07:30:19,072 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:30:19,073 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-15 07:30:19,078 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d012b2a3e/6ea98b6ee4f646238cffe317971dd2b6/FLAG88aeec9b8 [2022-04-15 07:30:19,496 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d012b2a3e/6ea98b6ee4f646238cffe317971dd2b6 [2022-04-15 07:30:19,498 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:30:19,499 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:30:19,500 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:30:19,500 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:30:19,503 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:30:19,504 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,504 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@71c66a47 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19, skipping insertion in model container [2022-04-15 07:30:19,504 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,510 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:30:19,526 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:30:19,678 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_unwindbound20.c[597,610] [2022-04-15 07:30:19,699 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:30:19,706 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:30:19,717 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_unwindbound20.c[597,610] [2022-04-15 07:30:19,724 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:30:19,734 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:30:19,734 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19 WrapperNode [2022-04-15 07:30:19,734 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:30:19,735 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:30:19,735 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:30:19,735 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:30:19,744 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,744 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,749 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,749 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,755 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,759 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,760 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,761 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:30:19,762 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:30:19,762 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:30:19,762 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:30:19,763 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (1/1) ... [2022-04-15 07:30:19,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:30:19,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:19,795 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:30:19,801 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:30:19,827 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:30:19,827 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:30:19,827 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:30:19,827 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:30:19,827 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:30:19,828 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:30:19,828 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:30:19,829 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:30:19,830 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:30:19,884 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:30:19,885 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:30:20,026 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:30:20,032 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:30:20,033 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:30:20,034 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:30:20 BoogieIcfgContainer [2022-04-15 07:30:20,034 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:30:20,036 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:30:20,036 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:30:20,039 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:30:20,040 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:30:19" (1/3) ... [2022-04-15 07:30:20,040 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1178b724 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:30:20, skipping insertion in model container [2022-04-15 07:30:20,040 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:30:19" (2/3) ... [2022-04-15 07:30:20,041 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1178b724 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:30:20, skipping insertion in model container [2022-04-15 07:30:20,041 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:30:20" (3/3) ... [2022-04-15 07:30:20,042 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound20.c [2022-04-15 07:30:20,046 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:30:20,047 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:30:20,084 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:30:20,089 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:30:20,090 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:30:20,106 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:30:20,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:30:20,124 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:20,124 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:30:20,125 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:20,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:20,130 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-15 07:30:20,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:20,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [403171744] [2022-04-15 07:30:20,146 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:30:20,147 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-15 07:30:20,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:20,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852131509] [2022-04-15 07:30:20,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:20,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:20,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:20,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:30:20,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:20,392 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:30:20,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:30:20,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:30:20,395 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:30:20,395 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:30:20,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-15 07:30:20,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-15 07:30:20,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-15 07:30:20,397 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:30:20,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-15 07:30:20,400 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:30:20,401 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:30:20,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-15 07:30:20,402 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-15 07:30:20,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-15 07:30:20,403 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:30:20,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:20,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852131509] [2022-04-15 07:30:20,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [852131509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:20,405 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:20,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:30:20,409 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:20,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [403171744] [2022-04-15 07:30:20,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [403171744] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:20,410 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:20,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:30:20,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345995084] [2022-04-15 07:30:20,411 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:20,415 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:30:20,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:20,420 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:30:20,449 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:30:20,450 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:30:20,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:20,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:30:20,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:30:20,482 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:30:20,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:20,633 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-15 07:30:20,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:30:20,633 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:30:20,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:20,635 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:30:20,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:30:20,641 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:30:20,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-15 07:30:20,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-15 07:30:20,732 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:30:20,744 INFO L225 Difference]: With dead ends: 45 [2022-04-15 07:30:20,745 INFO L226 Difference]: Without dead ends: 21 [2022-04-15 07:30:20,748 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:30:20,753 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:30:20,755 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:30:20,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-15 07:30:20,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-15 07:30:20,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:20,787 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:30:20,787 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:30:20,788 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:30:20,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:20,795 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:30:20,795 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:30:20,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:20,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:20,796 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:30:20,797 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:30:20,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:20,802 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-15 07:30:20,803 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-15 07:30:20,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:20,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:20,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:20,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:20,805 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:30:20,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-15 07:30:20,808 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-15 07:30:20,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:20,809 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-15 07:30:20,810 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:30:20,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-15 07:30:20,839 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:30:20,844 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-15 07:30:20,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-15 07:30:20,845 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:20,845 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:30:20,846 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:30:20,846 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:20,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:20,847 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-15 07:30:20,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:20,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1118531498] [2022-04-15 07:30:20,848 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:30:20,848 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-15 07:30:20,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:20,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1730695180] [2022-04-15 07:30:20,849 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:20,849 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:20,882 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:20,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [716555648] [2022-04-15 07:30:20,883 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:20,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:20,883 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:20,891 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:30:20,892 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:30:20,945 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:30:20,946 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:20,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:30:20,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:20,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:21,159 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-15 07:30:21,159 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:30:21,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-15 07:30:21,160 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-15 07:30:21,160 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-15 07:30:21,161 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:30:21,161 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:30:21,163 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 < 20);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:30:21,165 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:30:21,166 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:30:21,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-15 07:30:21,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-15 07:30:21,166 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:30:21,167 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:30:21,167 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:21,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1730695180] [2022-04-15 07:30:21,167 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:21,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [716555648] [2022-04-15 07:30:21,168 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [716555648] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:21,168 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:21,168 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:30:21,169 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:21,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1118531498] [2022-04-15 07:30:21,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1118531498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:21,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:21,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:30:21,169 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [966040763] [2022-04-15 07:30:21,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:21,170 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:30:21,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:21,171 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:30:21,183 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:30:21,183 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:30:21,183 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:21,184 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:30:21,184 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:30:21,184 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:30:21,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:21,458 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-15 07:30:21,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:30:21,458 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:30:21,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:21,459 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:30:21,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:30:21,464 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:30:21,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-15 07:30:21,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-15 07:30:21,501 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:30:21,503 INFO L225 Difference]: With dead ends: 34 [2022-04-15 07:30:21,503 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 07:30:21,503 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:30:21,505 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:30:21,505 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:30:21,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 07:30:21,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-15 07:30:21,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:21,516 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:30:21,516 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:30:21,516 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:30:21,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:21,518 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:30:21,518 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:30:21,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:21,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:21,519 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:30:21,520 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:30:21,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:21,522 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-15 07:30:21,522 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 07:30:21,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:21,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:21,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:21,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:21,523 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:30:21,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-15 07:30:21,524 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-15 07:30:21,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:21,524 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-15 07:30:21,525 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:30:21,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-15 07:30:21,553 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:30:21,553 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-15 07:30:21,554 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:30:21,554 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:21,554 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:30:21,582 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:30:21,782 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:30:21,782 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:21,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:21,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-15 07:30:21,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:21,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1652380204] [2022-04-15 07:30:21,878 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:21,878 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:21,878 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:21,878 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-15 07:30:21,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:21,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363543611] [2022-04-15 07:30:21,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:21,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:21,894 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:21,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [493500056] [2022-04-15 07:30:21,895 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:21,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:21,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:21,896 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:30:21,897 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:30:21,947 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:30:21,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:21,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 07:30:21,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:21,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:22,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:30:22,232 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:30:22,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:30:22,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:30:22,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:30:22,233 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:30:22,234 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:30:22,234 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 < 20);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:30:22,234 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:30:22,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:30:22,235 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:30:22,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:30:22,236 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:30:22,236 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:30:22,237 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:30:22,238 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:30:22,238 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:30:22,239 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 < 20);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:30:22,240 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:30:22,241 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:30:22,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:30:22,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:30:22,242 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:30:22,242 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:22,411 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-15 07:30:22,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-15 07:30:22,414 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:30:22,415 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:30:22,416 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 < 20);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:30:22,417 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:30:22,537 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:30:22,539 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:30:22,539 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:30:22,541 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:30:22,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:30:22,541 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-15 07:30:22,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-15 07:30:22,541 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:30:22,543 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 < 20);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:30:22,544 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:30:22,544 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:30:22,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-15 07:30:22,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-15 07:30:22,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-15 07:30:22,545 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:30:22,545 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-15 07:30:22,546 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:30:22,546 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:22,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363543611] [2022-04-15 07:30:22,546 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:22,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [493500056] [2022-04-15 07:30:22,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [493500056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:22,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:22,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:30:22,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:22,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1652380204] [2022-04-15 07:30:22,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1652380204] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:22,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:22,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:30:22,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [185913201] [2022-04-15 07:30:22,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:22,548 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:30:22,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:22,548 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:30:22,576 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:30:22,576 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:30:22,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:22,577 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:30:22,577 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:30:22,577 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:30:22,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:22,961 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-15 07:30:22,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:30:22,961 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:30:22,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:22,961 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:30:22,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:30:22,964 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:30:22,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:30:22,966 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:30:23,019 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:30:23,020 INFO L225 Difference]: With dead ends: 44 [2022-04-15 07:30:23,020 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 07:30:23,021 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:30:23,022 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:30:23,022 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:30:23,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 07:30:23,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-15 07:30:23,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:23,042 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:30:23,046 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:30:23,047 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:30:23,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:23,050 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:30:23,050 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:30:23,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:23,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:23,051 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:30:23,052 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:30:23,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:23,054 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:30:23,054 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-15 07:30:23,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:23,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:23,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:23,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:23,055 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:30:23,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:30:23,057 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-15 07:30:23,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:23,058 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:30:23,058 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:30:23,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:30:23,103 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:30:23,103 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:30:23,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:30:23,106 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:23,107 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:30:23,133 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:30:23,330 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:30:23,331 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:23,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:23,332 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-15 07:30:23,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:23,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1675508976] [2022-04-15 07:30:23,426 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:23,426 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:23,427 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:23,427 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-15 07:30:23,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:23,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623252961] [2022-04-15 07:30:23,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:23,427 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:23,440 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:23,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1222277465] [2022-04-15 07:30:23,441 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:23,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:23,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:23,442 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:30:23,474 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:30:23,498 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:30:23,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:23,499 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 07:30:23,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:23,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:23,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:30:23,710 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:30:23,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:30:23,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:30:23,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:30:23,711 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:30:23,712 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:30:23,712 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 < 20);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:30:23,712 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:30:23,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:30:23,713 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:30:23,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:30:23,714 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:30:23,714 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:30:23,715 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:30:23,716 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:30:23,716 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:30:23,717 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 < 20);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:30:23,718 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:30:23,719 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:30:23,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:30:23,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:30:23,720 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:30:23,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:23,895 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-15 07:30:23,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-15 07:30:23,896 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:30:23,897 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:30:23,898 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 < 20);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:30:23,898 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:30:23,901 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:30:23,902 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:30:23,903 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:30:23,904 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:30:23,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:30:23,906 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-15 07:30:23,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-15 07:30:23,907 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:30:23,907 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 < 20);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:30:23,908 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:30:23,909 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:30:23,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-15 07:30:23,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-15 07:30:23,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-15 07:30:23,909 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:30:23,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-15 07:30:23,910 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:30:23,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:23,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623252961] [2022-04-15 07:30:23,910 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:23,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1222277465] [2022-04-15 07:30:23,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1222277465] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:23,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:23,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-15 07:30:23,911 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:23,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1675508976] [2022-04-15 07:30:23,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1675508976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:23,911 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:23,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:30:23,911 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1479999574] [2022-04-15 07:30:23,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:23,913 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:30:23,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:23,915 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:30:23,934 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:30:23,935 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:30:23,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:23,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:30:23,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:30:23,938 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:30:24,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:24,272 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-15 07:30:24,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:30:24,272 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:30:24,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:24,272 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:30:24,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:30:24,274 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:30:24,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 07:30:24,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 07:30:24,323 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:30:24,325 INFO L225 Difference]: With dead ends: 53 [2022-04-15 07:30:24,325 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 07:30:24,326 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:30:24,326 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:30:24,327 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:30:24,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 07:30:24,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-15 07:30:24,348 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:24,348 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:30:24,348 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:30:24,349 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:30:24,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:24,351 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:30:24,351 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:30:24,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:24,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:24,353 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:30:24,354 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:30:24,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:24,359 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-15 07:30:24,359 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-15 07:30:24,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:24,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:24,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:24,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:24,361 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:30:24,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-15 07:30:24,362 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-15 07:30:24,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:24,363 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-15 07:30:24,363 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:30:24,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-15 07:30:24,413 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:30:24,414 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-15 07:30:24,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:30:24,416 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:24,416 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:30:24,440 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:30:24,639 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:30:24,639 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:24,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:24,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-15 07:30:24,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:24,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [480968523] [2022-04-15 07:30:24,703 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:24,704 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:24,704 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:24,704 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-15 07:30:24,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:24,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247175830] [2022-04-15 07:30:24,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:24,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:24,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:24,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1174940343] [2022-04-15 07:30:24,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:24,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:24,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:24,736 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:30:24,765 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:30:24,787 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:30:24,787 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:24,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 07:30:24,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:24,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:24,919 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:30:24,920 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:30:24,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:30:24,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:30:24,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-15 07:30:24,922 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:30:24,922 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:30:24,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 20);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:30:24,924 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:30:24,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:30:24,924 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:30:24,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-15 07:30:24,926 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:30:24,926 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:30:24,926 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:30:24,927 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:30:24,927 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:30:24,928 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:30:24,928 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:30:24,928 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:30:24,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:30:24,941 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:30:24,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:30:24,942 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:30:24,942 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:25,105 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-15 07:30:25,106 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-15 07:30:25,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-15 07:30:25,106 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:30:25,106 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:30:25,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1270#false} is VALID [2022-04-15 07:30:25,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 20)} is VALID [2022-04-15 07:30:25,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 20)} is VALID [2022-04-15 07:30:25,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 20)} 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 20)} is VALID [2022-04-15 07:30:25,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 20)} is VALID [2022-04-15 07:30:25,109 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 20)} #58#return; {1362#(< ~counter~0 20)} is VALID [2022-04-15 07:30:25,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-15 07:30:25,109 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-15 07:30:25,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-15 07:30:25,109 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 20)} 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:30:25,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 20)} is VALID [2022-04-15 07:30:25,110 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 20)} is VALID [2022-04-15 07:30:25,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 19)} 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 19)} is VALID [2022-04-15 07:30:25,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 19)} call #t~ret9 := main(); {1393#(< ~counter~0 19)} is VALID [2022-04-15 07:30:25,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 19)} {1269#true} #62#return; {1393#(< ~counter~0 19)} is VALID [2022-04-15 07:30:25,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 19)} assume true; {1393#(< ~counter~0 19)} is VALID [2022-04-15 07:30:25,113 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 19)} is VALID [2022-04-15 07:30:25,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-15 07:30:25,113 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:30:25,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:25,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [247175830] [2022-04-15 07:30:25,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:25,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1174940343] [2022-04-15 07:30:25,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1174940343] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:25,116 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:25,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 07:30:25,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:25,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [480968523] [2022-04-15 07:30:25,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [480968523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:25,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:25,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:30:25,117 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1295287396] [2022-04-15 07:30:25,117 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:25,117 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:30:25,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:25,118 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:30:25,137 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:30:25,137 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:30:25,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:25,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:30:25,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:30:25,138 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:30:25,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:25,247 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-15 07:30:25,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:30:25,247 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:30:25,247 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:25,248 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:30:25,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:30:25,250 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:30:25,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:30:25,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:30:25,285 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:30:25,286 INFO L225 Difference]: With dead ends: 54 [2022-04-15 07:30:25,286 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 07:30:25,286 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:30:25,287 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:30:25,287 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:30:25,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 07:30:25,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-15 07:30:25,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:25,319 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:30:25,320 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:30:25,320 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:30:25,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:25,322 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:30:25,323 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:30:25,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:25,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:25,323 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:30:25,323 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:30:25,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:25,326 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-15 07:30:25,326 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:30:25,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:25,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:25,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:25,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:25,327 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:30:25,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-15 07:30:25,334 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-15 07:30:25,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:25,335 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-15 07:30:25,335 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:30:25,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-15 07:30:25,390 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:30:25,391 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-15 07:30:25,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-15 07:30:25,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:25,391 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:30:25,418 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:30:25,615 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:30:25,615 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:25,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:25,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-15 07:30:25,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:25,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1740188306] [2022-04-15 07:30:25,675 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:25,675 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:25,675 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:25,675 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-15 07:30:25,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:25,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1937787624] [2022-04-15 07:30:25,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:25,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:25,692 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:25,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [401219034] [2022-04-15 07:30:25,693 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:25,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:25,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:25,694 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:30:25,721 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:30:25,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:30:25,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:25,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 07:30:25,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:25,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:26,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:30:26,238 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:30:26,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:30:26,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:30:26,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:30:26,239 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:30:26,240 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:30:26,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 20);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:30:26,240 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:30:26,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:30:26,240 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:30:26,241 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:30:26,241 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:30:26,242 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:30:26,242 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:30:26,244 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:30:26,244 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:30:26,245 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 < 20);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:30:26,245 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:30:26,245 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:30:26,246 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:30:26,246 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:30:26,248 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:30:26,248 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:30:26,250 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:30:26,251 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:30:26,255 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:30:26,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:30:26,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:30:26,257 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:30:26,257 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:27,073 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-15 07:30:27,074 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-15 07:30:27,074 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:30:27,075 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:30:27,076 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:30:27,077 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:30:27,078 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:30:27,079 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:30:27,079 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:30:27,079 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:30:27,080 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:30:27,084 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 < 20);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:30:27,085 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:30:27,087 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:30:27,089 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:30:27,090 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:30:27,090 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-15 07:30:27,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:30:27,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-15 07:30:27,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-15 07:30:27,091 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:30:27,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-15 07:30:27,091 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:30:27,091 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:30:27,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-15 07:30:27,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-15 07:30:27,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-15 07:30:27,092 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:30:27,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-15 07:30:27,092 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:30:27,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:27,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1937787624] [2022-04-15 07:30:27,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:27,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [401219034] [2022-04-15 07:30:27,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [401219034] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:27,093 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:27,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:30:27,093 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:27,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1740188306] [2022-04-15 07:30:27,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1740188306] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:27,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:27,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:30:27,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565565498] [2022-04-15 07:30:27,094 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:27,094 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:30:27,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:27,094 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:30:27,126 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:30:27,126 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:30:27,126 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:27,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:30:27,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:30:27,127 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:30:27,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:27,711 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-15 07:30:27,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:30:27,712 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:30:27,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:27,712 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:30:27,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:30:27,714 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:30:27,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-15 07:30:27,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-15 07:30:27,759 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:30:27,760 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:30:27,760 INFO L226 Difference]: Without dead ends: 49 [2022-04-15 07:30:27,761 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:30:27,761 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:30:27,761 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:30:27,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-15 07:30:27,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-15 07:30:27,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:27,792 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:30:27,792 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:30:27,792 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:30:27,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:27,794 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:30:27,794 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:30:27,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:27,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:27,794 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:30:27,795 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:30:27,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:27,796 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-15 07:30:27,796 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-15 07:30:27,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:27,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:27,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:27,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:27,797 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:30:27,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-15 07:30:27,798 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-15 07:30:27,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:27,798 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-15 07:30:27,798 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:30:27,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-15 07:30:27,849 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:30:27,849 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-15 07:30:27,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:30:27,849 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:27,850 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:30:27,876 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:30:28,063 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:30:28,064 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:28,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:28,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-15 07:30:28,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:28,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [269688463] [2022-04-15 07:30:28,130 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:28,130 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:28,131 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:28,131 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-15 07:30:28,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:28,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [751212292] [2022-04-15 07:30:28,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:28,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:28,158 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:28,158 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1234546584] [2022-04-15 07:30:28,158 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:30:28,158 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:28,158 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:28,159 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:30:28,187 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:30:28,217 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:30:28,218 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:28,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:30:28,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:28,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:28,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:30:28,592 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:30:28,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:30:28,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:30:28,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:30:28,593 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:30:28,593 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:30:28,594 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 < 20);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:30:28,594 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:30:28,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:30:28,594 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:30:28,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:30:28,595 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:30:28,595 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:30:28,596 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:30:28,597 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:30:28,597 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:30:28,598 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 < 20);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:30:28,598 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:30:28,599 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:30:28,599 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:30:28,599 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:30:28,600 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:30:28,601 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:30:28,601 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:30:28,602 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:30:28,602 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:30:28,603 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 < 20);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:30:28,604 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:30:28,604 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:30:28,605 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:30:28,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:30:28,606 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:30:28,606 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:33,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-15 07:30:33,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-15 07:30:33,052 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:30:33,053 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:30:33,054 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 < 20);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:30:33,054 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:30:33,071 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:30:33,072 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:30:33,073 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:30:33,074 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:30:33,074 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:30:33,075 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:30:33,075 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:30:33,075 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:30:33,076 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 20);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:30:33,076 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:30:33,076 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:30:33,076 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:30:33,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-15 07:30:33,076 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-15 07:30:33,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:30:33,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-15 07:30:33,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-15 07:30:33,077 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:30:33,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-15 07:30:33,077 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:30:33,077 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:30:33,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-15 07:30:33,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-15 07:30:33,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-15 07:30:33,078 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:30:33,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-15 07:30:33,078 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:30:33,078 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:33,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [751212292] [2022-04-15 07:30:33,078 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:33,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1234546584] [2022-04-15 07:30:33,078 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1234546584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:33,078 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:33,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:30:33,079 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:33,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [269688463] [2022-04-15 07:30:33,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [269688463] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:33,079 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:33,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:30:33,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394121503] [2022-04-15 07:30:33,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:33,080 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:30:33,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:33,080 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:30:33,112 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:30:33,113 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:30:33,113 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:33,113 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:30:33,113 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:30:33,114 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:30:33,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:33,906 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-15 07:30:33,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:30:33,906 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:30:33,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:33,907 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:30:33,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:30:33,909 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:30:33,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 07:30:33,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 07:30:33,967 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:30:33,969 INFO L225 Difference]: With dead ends: 63 [2022-04-15 07:30:33,969 INFO L226 Difference]: Without dead ends: 58 [2022-04-15 07:30:33,969 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:30:33,970 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:30:33,970 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:30:33,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-15 07:30:34,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-15 07:30:34,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:30:34,033 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:30:34,033 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:30:34,034 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:30:34,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:34,037 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:30:34,037 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:30:34,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:34,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:34,038 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:30:34,038 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:30:34,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:34,040 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-15 07:30:34,040 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:30:34,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:30:34,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:30:34,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:30:34,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:30:34,042 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:30:34,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-15 07:30:34,044 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-15 07:30:34,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:30:34,046 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-15 07:30:34,046 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:30:34,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-15 07:30:34,110 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:30:34,111 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-15 07:30:34,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:30:34,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:30:34,111 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:30:34,135 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:30:34,324 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:30:34,324 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:30:34,325 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:30:34,325 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-15 07:30:34,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:34,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1685338243] [2022-04-15 07:30:34,447 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:30:34,447 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:30:34,447 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:30:34,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-15 07:30:34,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:30:34,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1055948242] [2022-04-15 07:30:34,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:30:34,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:30:34,469 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:30:34,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [538371740] [2022-04-15 07:30:34,470 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:30:34,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:30:34,470 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:30:34,471 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:30:34,496 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:30:34,522 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:30:34,522 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:30:34,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 07:30:34,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:30:34,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:30:47,522 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:30:51,570 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:30:55,705 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:31:55,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:31:55,102 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:55,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:55,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:31:55,103 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:31:55,104 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:55,104 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:55,105 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 < 20);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:55,105 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:55,105 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:55,105 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:55,106 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:55,107 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:55,107 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:55,108 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:55,109 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:55,109 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:55,110 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 < 20);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:55,110 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:55,110 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:55,111 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:55,111 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:55,113 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:55,113 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:55,114 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:55,117 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:55,118 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:55,122 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 < 20);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:55,169 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:55,170 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:55,171 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:31:55,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:31:55,171 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:55,171 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:31:58,304 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-15 07:31:58,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-15 07:31:58,305 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:58,306 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:58,307 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 < 20);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:58,308 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:58,309 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:58,312 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:58,312 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:58,313 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:58,314 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:58,314 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:58,315 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:58,315 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:58,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 20);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:58,316 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:58,316 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:58,316 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:58,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-15 07:31:58,316 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-15 07:31:58,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:58,317 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-15 07:31:58,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-15 07:31:58,317 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:58,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-15 07:31:58,317 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:58,317 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:58,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-15 07:31:58,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-15 07:31:58,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-15 07:31:58,318 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:58,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-15 07:31:58,318 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:58,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:31:58,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1055948242] [2022-04-15 07:31:58,318 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:31:58,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [538371740] [2022-04-15 07:31:58,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [538371740] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:31:58,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:31:58,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-15 07:31:58,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:31:58,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1685338243] [2022-04-15 07:31:58,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1685338243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:31:58,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:31:58,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:31:58,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [891345411] [2022-04-15 07:31:58,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:31:58,320 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:58,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:31:58,320 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:32:00,367 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:32:00,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:32:00,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:00,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:32:00,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:32:00,368 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:32:02,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:02,286 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-15 07:32:02,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:32:02,286 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:32:02,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:02,286 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:32:02,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:32:02,288 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:32:02,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:32:02,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:32:02,794 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:32:02,796 INFO L225 Difference]: With dead ends: 74 [2022-04-15 07:32:02,796 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 07:32:02,796 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=101, Invalid=499, Unknown=0, NotChecked=0, Total=600 [2022-04-15 07:32:02,797 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 31 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:32:02,797 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 152 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 216 Invalid, 0 Unknown, 31 Unchecked, 0.5s Time] [2022-04-15 07:32:02,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 07:32:02,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-15 07:32:02,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:02,846 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:32:02,846 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:32:02,846 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:32:02,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:02,848 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:32:02,848 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:32:02,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:02,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:02,849 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:32:02,849 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:32:02,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:02,851 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 07:32:02,851 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-15 07:32:02,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:02,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:02,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:02,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:02,852 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:32:02,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-15 07:32:02,853 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-15 07:32:02,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:02,854 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-15 07:32:02,854 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:32:02,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-15 07:32:03,036 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:32:03,036 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-15 07:32:03,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:32:03,037 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:32:03,037 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:32:03,063 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:32:03,237 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:32:03,238 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:32:03,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:32:03,238 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-15 07:32:03,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:03,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1494261070] [2022-04-15 07:32:03,339 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:32:03,340 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:32:03,340 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:32:03,340 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-15 07:32:03,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:32:03,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056983645] [2022-04-15 07:32:03,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:32:03,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:32:03,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:32:03,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [364617349] [2022-04-15 07:32:03,350 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:32:03,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:32:03,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:32:03,356 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:32:03,365 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:32:03,410 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:32:03,410 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:32:03,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 07:32:03,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:32:03,438 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:32:08,078 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:32:12,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:32:12,352 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:32:12,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:32:12,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:32:12,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:32:12,354 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:32:12,354 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:32:12,355 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 < 20);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:32:12,355 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:32:12,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:32:12,355 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:32:12,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:32:12,356 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:32:12,356 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:32:12,358 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:32:12,358 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:32:12,359 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:32:12,359 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 < 20);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:32:12,359 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:32:12,360 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:32:12,360 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:32:12,360 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:32:12,362 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:32:12,363 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:32:12,364 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:32:12,370 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:32:12,371 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:32:12,373 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 < 20);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:32:12,376 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:32:12,376 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:32:12,377 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:32:12,377 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:32:12,377 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:32:12,377 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:32:18,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-15 07:32:18,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-15 07:32:18,749 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:32:18,749 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:32:18,750 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 < 20);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:32:18,751 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:32:18,753 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:32:18,753 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:32:18,754 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:32:18,755 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:32:18,755 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:32:18,755 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:32:18,756 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:32:18,756 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:32:18,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {3360#true} assume !!(#t~post6 < 20);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:32:18,757 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:32:18,757 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:32:18,757 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:32:18,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {3360#true} assume !!(~x~0 <= ~X~0); {3360#true} is VALID [2022-04-15 07:32:18,757 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3360#true} #58#return; {3360#true} is VALID [2022-04-15 07:32:18,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:32:18,758 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-15 07:32:18,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-15 07:32:18,758 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:32:18,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {3360#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3360#true} is VALID [2022-04-15 07:32:18,758 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:32:18,758 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:32:18,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-15 07:32:18,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-15 07:32:18,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-15 07:32:18,759 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:32:18,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-15 07:32:18,759 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:32:18,759 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:32:18,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056983645] [2022-04-15 07:32:18,759 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:32:18,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [364617349] [2022-04-15 07:32:18,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [364617349] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:32:18,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:32:18,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-15 07:32:18,760 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:32:18,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1494261070] [2022-04-15 07:32:18,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1494261070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:32:18,760 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:32:18,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:32:18,760 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1343129065] [2022-04-15 07:32:18,760 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:32:18,761 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:32:18,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:32:18,762 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:32:18,796 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:32:18,797 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:32:18,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:18,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:32:18,797 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:32:18,797 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:32:19,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:19,830 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-15 07:32:19,830 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:32:19,830 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:32:19,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:19,830 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:32:19,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:32:19,833 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:32:19,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-15 07:32:19,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-15 07:32:19,917 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:32:19,919 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:32:19,919 INFO L226 Difference]: Without dead ends: 80 [2022-04-15 07:32:19,920 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:32:19,920 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:32:19,921 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:32:19,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-15 07:32:20,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-15 07:32:20,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:20,001 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:32:20,001 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:32:20,001 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:32:20,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:20,010 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:32:20,010 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:32:20,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:20,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:20,011 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:32:20,012 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:32:20,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:20,016 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-15 07:32:20,016 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-15 07:32:20,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:20,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:20,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:20,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:20,020 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:32:20,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-15 07:32:20,022 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-15 07:32:20,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:20,023 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-15 07:32:20,023 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:32:20,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-15 07:32:20,859 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:32:20,859 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-15 07:32:20,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:32:20,859 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:32:20,860 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:32:20,877 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:32:21,067 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:32:21,068 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:32:21,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:32:21,068 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-15 07:32:21,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:21,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [708174745] [2022-04-15 07:32:21,119 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:32:21,119 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:32:21,119 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:32:21,120 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-15 07:32:21,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:32:21,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1738185200] [2022-04-15 07:32:21,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:32:21,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:32:21,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:32:21,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [714596019] [2022-04-15 07:32:21,137 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:32:21,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:32:21,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:32:21,139 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:32:21,142 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:32:21,211 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:32:21,211 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:32:21,212 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:32:21,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:32:21,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:32:21,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:32:21,570 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:32:21,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:21,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:32:21,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:32:21,571 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:32:21,571 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:32:21,572 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 < 20);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:32:21,572 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:32:21,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:32:21,572 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:32:21,572 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:21,573 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:32:21,573 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:32:21,574 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:32:21,574 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:32:21,575 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:32:21,575 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 < 20);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:32:21,575 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:32:21,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:32:21,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:32:21,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:21,576 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:32:21,577 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:32:21,578 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:32:21,578 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:32:21,578 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:32:21,579 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 < 20);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:32:21,580 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:32:21,580 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:32:21,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:32:21,581 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:32:21,581 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:32:21,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:32:21,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-15 07:32:21,993 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-15 07:32:21,993 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:32:21,994 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:32:21,995 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 < 20);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:32:21,995 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:32:21,997 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:32:21,998 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:32:21,998 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:32:21,999 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:32:21,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:21,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:32:21,999 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:32:21,999 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:32:22,000 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 < 20);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:32:22,001 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:32:22,002 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:32:22,004 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:32:22,005 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:32:22,005 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:32:22,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:22,005 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-15 07:32:22,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-15 07:32:22,005 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:32:22,006 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 < 20);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:32:22,006 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:32:22,007 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:32:22,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-15 07:32:22,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-15 07:32:22,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-15 07:32:22,007 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:32:22,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-15 07:32:22,008 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:32:22,008 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:32:22,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1738185200] [2022-04-15 07:32:22,008 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:32:22,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [714596019] [2022-04-15 07:32:22,009 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [714596019] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:32:22,009 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:32:22,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-15 07:32:22,009 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:32:22,009 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [708174745] [2022-04-15 07:32:22,009 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [708174745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:32:22,009 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:32:22,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:32:22,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [792866720] [2022-04-15 07:32:22,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:32:22,009 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:32:22,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:32:22,010 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:32:22,035 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:32:22,035 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:32:22,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:22,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:32:22,035 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:32:22,035 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:32:22,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:22,772 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-15 07:32:22,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:32:22,772 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:32:22,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:22,772 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:32:22,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:32:22,774 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:32:22,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-15 07:32:22,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-15 07:32:22,832 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:32:22,833 INFO L225 Difference]: With dead ends: 93 [2022-04-15 07:32:22,834 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 07:32:22,834 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:32:22,835 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:32:22,835 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.3s Time] [2022-04-15 07:32:22,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 07:32:22,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-15 07:32:22,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:22,930 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:32:22,930 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:32:22,930 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:32:22,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:22,932 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:32:22,932 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:32:22,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:22,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:22,932 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:32:22,933 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:32:22,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:22,934 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-15 07:32:22,934 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-15 07:32:22,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:22,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:22,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:22,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:22,935 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:32:22,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-15 07:32:22,937 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-15 07:32:22,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:22,937 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-15 07:32:22,937 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:32:22,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-15 07:32:23,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:32:23,127 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-15 07:32:23,128 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 07:32:23,128 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:32:23,128 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:32:23,145 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:32:23,332 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:32:23,332 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:32:23,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:32:23,333 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-15 07:32:23,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:23,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [589346945] [2022-04-15 07:32:23,429 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:32:23,429 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:32:23,429 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:32:23,429 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-15 07:32:23,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:32:23,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [195382695] [2022-04-15 07:32:23,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:32:23,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:32:23,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:32:23,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1435728371] [2022-04-15 07:32:23,439 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:32:23,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:32:23,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:32:23,440 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:32:23,448 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:32:23,482 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:32:23,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:32:23,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:32:23,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:32:23,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:32:23,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:32:23,665 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:32:23,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {4844#(<= ~counter~0 0)} assume true; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:32:23,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4844#(<= ~counter~0 0)} {4836#true} #62#return; {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:32:23,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {4844#(<= ~counter~0 0)} call #t~ret9 := main(); {4844#(<= ~counter~0 0)} is VALID [2022-04-15 07:32:23,667 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:32:23,667 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:32:23,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {4860#(<= ~counter~0 1)} assume !!(#t~post6 < 20);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:32:23,668 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:32:23,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#(<= ~counter~0 1)} ~cond := #in~cond; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:32:23,669 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#(<= ~counter~0 1)} assume !(0 == ~cond); {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:32:23,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {4860#(<= ~counter~0 1)} assume true; {4860#(<= ~counter~0 1)} is VALID [2022-04-15 07:32:23,669 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:32:23,670 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:32:23,670 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:32:23,670 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:32:23,671 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:32:23,671 INFO L290 TraceCheckUtils]: 17: Hoare triple {4891#(<= ~counter~0 2)} assume !!(#t~post6 < 20);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:32:23,672 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:32:23,672 INFO L290 TraceCheckUtils]: 19: Hoare triple {4891#(<= ~counter~0 2)} ~cond := #in~cond; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:32:23,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {4891#(<= ~counter~0 2)} assume !(0 == ~cond); {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:32:23,672 INFO L290 TraceCheckUtils]: 21: Hoare triple {4891#(<= ~counter~0 2)} assume true; {4891#(<= ~counter~0 2)} is VALID [2022-04-15 07:32:23,673 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:32:23,673 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:32:23,674 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:32:23,674 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:32:23,674 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:32:23,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {4922#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:32:23,675 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:32:23,675 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:32:23,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:32:23,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:32:23,675 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:32:23,675 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:32:23,675 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:32:23,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-15 07:32:23,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-15 07:32:23,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-15 07:32:23,863 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:32:23,863 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:32:23,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4837#false} is VALID [2022-04-15 07:32:23,865 INFO L290 TraceCheckUtils]: 26: Hoare triple {4960#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4956#(< |main_#t~post6| 20)} is VALID [2022-04-15 07:32:23,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {4960#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4960#(< ~counter~0 20)} is VALID [2022-04-15 07:32:23,866 INFO L290 TraceCheckUtils]: 24: Hoare triple {4960#(< ~counter~0 20)} 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 20)} is VALID [2022-04-15 07:32:23,866 INFO L290 TraceCheckUtils]: 23: Hoare triple {4960#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {4960#(< ~counter~0 20)} is VALID [2022-04-15 07:32:23,867 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4836#true} {4960#(< ~counter~0 20)} #58#return; {4960#(< ~counter~0 20)} is VALID [2022-04-15 07:32:23,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:32:23,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:32:23,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:32:23,867 INFO L272 TraceCheckUtils]: 18: Hoare triple {4960#(< ~counter~0 20)} 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:32:23,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {4960#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4960#(< ~counter~0 20)} is VALID [2022-04-15 07:32:23,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {4991#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4960#(< ~counter~0 20)} is VALID [2022-04-15 07:32:23,868 INFO L290 TraceCheckUtils]: 15: Hoare triple {4991#(< ~counter~0 19)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {4991#(< ~counter~0 19)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,869 INFO L290 TraceCheckUtils]: 13: Hoare triple {4991#(< ~counter~0 19)} assume !!(~x~0 <= ~X~0); {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,870 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4836#true} {4991#(< ~counter~0 19)} #58#return; {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-15 07:32:23,870 INFO L290 TraceCheckUtils]: 10: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-15 07:32:23,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-15 07:32:23,870 INFO L272 TraceCheckUtils]: 8: Hoare triple {4991#(< ~counter~0 19)} 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:32:23,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {4991#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,871 INFO L290 TraceCheckUtils]: 6: Hoare triple {5022#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4991#(< ~counter~0 19)} is VALID [2022-04-15 07:32:23,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {5022#(< ~counter~0 18)} 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 18)} is VALID [2022-04-15 07:32:23,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {5022#(< ~counter~0 18)} call #t~ret9 := main(); {5022#(< ~counter~0 18)} is VALID [2022-04-15 07:32:23,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5022#(< ~counter~0 18)} {4836#true} #62#return; {5022#(< ~counter~0 18)} is VALID [2022-04-15 07:32:23,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {5022#(< ~counter~0 18)} assume true; {5022#(< ~counter~0 18)} is VALID [2022-04-15 07:32:23,872 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 18)} is VALID [2022-04-15 07:32:23,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-15 07:32:23,872 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:32:23,873 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:32:23,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [195382695] [2022-04-15 07:32:23,873 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:32:23,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1435728371] [2022-04-15 07:32:23,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1435728371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:32:23,873 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:32:23,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-15 07:32:23,873 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:32:23,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [589346945] [2022-04-15 07:32:23,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [589346945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:32:23,873 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:32:23,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:32:23,873 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643089097] [2022-04-15 07:32:23,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:32:23,874 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:32:23,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:32:23,874 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:32:23,898 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:32:23,899 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:32:23,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:23,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:32:23,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-15 07:32:23,899 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:32:24,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:24,073 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-15 07:32:24,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:32:24,073 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:32:24,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:24,073 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:32:24,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:32:24,074 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:32:24,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-15 07:32:24,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-15 07:32:24,130 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:32:24,132 INFO L225 Difference]: With dead ends: 94 [2022-04-15 07:32:24,132 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 07:32:24,132 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:32:24,132 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:32:24,133 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:32:24,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 07:32:24,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-15 07:32:24,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:24,226 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:32:24,227 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:32:24,227 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:32:24,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:24,229 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:32:24,229 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:32:24,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:24,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:24,229 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:32:24,229 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:32:24,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:24,231 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-15 07:32:24,231 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:32:24,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:24,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:24,231 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:24,231 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:24,232 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:32:24,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-15 07:32:24,233 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-15 07:32:24,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:24,234 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-15 07:32:24,234 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:32:24,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-15 07:32:26,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 91 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:32:26,391 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-15 07:32:26,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:32:26,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:32:26,392 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:32:26,413 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:32:26,603 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:32:26,603 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:32:26,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:32:26,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-15 07:32:26,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:26,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1610011174] [2022-04-15 07:32:26,646 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:32:26,647 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:32:26,647 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:32:26,647 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-15 07:32:26,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:32:26,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1043617266] [2022-04-15 07:32:26,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:32:26,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:32:26,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:32:26,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1638361661] [2022-04-15 07:32:26,659 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:32:26,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:32:26,659 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:32:26,660 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:32:26,679 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:32:26,715 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:32:26,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:32:26,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:32:26,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:32:26,728 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:32:27,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:32:27,266 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:32:27,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:27,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:32:27,267 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:32:27,267 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:32:27,267 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:32:27,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 20);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:32:27,268 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:32:27,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:32:27,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:32:27,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:27,269 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:32:27,269 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:32:27,270 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:32:27,270 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:32:27,270 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:32:27,271 INFO L290 TraceCheckUtils]: 17: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 20);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:32:27,271 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:32:27,271 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:32:27,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:32:27,271 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:27,272 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:32:27,272 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:32:27,272 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:32:27,273 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:32:27,273 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:32:27,273 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 < 20);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:32:27,274 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:32:27,274 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:32:27,274 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:32:27,274 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:32:27,276 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:32:27,276 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:32:27,277 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:32:27,278 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:32:27,278 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:32:27,278 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:32:27,278 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:32:27,279 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:32:27,279 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:32:27,982 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-15 07:32:27,983 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-15 07:32:27,983 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:32:27,984 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:32:27,986 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:32:27,986 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:32:27,988 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:32:27,988 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:32:27,989 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:32:27,989 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:32:27,989 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:32:27,991 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 < 20);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:32:27,991 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:32:27,993 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:32:27,995 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:32:27,998 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:32:27,998 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:32:27,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:27,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:32:27,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:32:27,998 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:32:27,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {5579#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-15 07:32:27,998 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:32:27,998 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:32:27,998 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:32:27,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-15 07:32:27,999 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:32:27,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {5579#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-15 07:32:27,999 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:32:27,999 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:32:27,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-15 07:32:27,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-15 07:32:28,000 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:32:28,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-15 07:32:28,000 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:32:28,000 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:32:28,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1043617266] [2022-04-15 07:32:28,000 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:32:28,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1638361661] [2022-04-15 07:32:28,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1638361661] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:32:28,001 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:32:28,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 07:32:28,001 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:32:28,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1610011174] [2022-04-15 07:32:28,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1610011174] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:32:28,001 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:32:28,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:32:28,001 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [441173352] [2022-04-15 07:32:28,001 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:32:28,002 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:32:28,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:32:28,002 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:32:28,041 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:32:28,041 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:32:28,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:28,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:32:28,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:32:28,042 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:32:28,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:28,938 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:32:28,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:32:28,938 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:32:28,938 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:32:28,938 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:32:28,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:32:28,940 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:32:28,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 07:32:28,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-15 07:32:28,990 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:32:28,991 INFO L225 Difference]: With dead ends: 97 [2022-04-15 07:32:28,991 INFO L226 Difference]: Without dead ends: 89 [2022-04-15 07:32:28,992 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:32:28,992 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:32:28,993 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:32:28,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-15 07:32:29,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-15 07:32:29,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:32:29,070 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:32:29,071 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:32:29,071 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:32:29,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:29,072 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:32:29,072 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:32:29,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:29,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:29,073 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:32:29,073 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:32:29,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:32:29,075 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-15 07:32:29,075 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-15 07:32:29,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:32:29,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:32:29,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:32:29,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:32:29,076 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:32:29,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-15 07:32:29,077 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-15 07:32:29,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:32:29,078 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-15 07:32:29,078 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:32:29,078 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-15 07:32:31,212 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:32:31,212 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-15 07:32:31,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:32:31,212 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:32:31,212 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:32:31,230 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:32:31,413 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:32:31,413 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:32:31,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:32:31,414 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-15 07:32:31,414 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:32:31,414 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1435211445] [2022-04-15 07:32:31,464 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:32:31,464 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:32:31,464 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:32:31,464 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-15 07:32:31,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:32:31,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [270806671] [2022-04-15 07:32:31,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:32:31,465 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:32:31,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:32:31,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [855872594] [2022-04-15 07:32:31,474 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:32:31,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:32:31,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:32:31,476 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:32:31,480 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:32:31,524 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:32:31,524 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:32:31,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:32:31,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:32:31,538 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:32:51,290 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:33:27,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:33:27,890 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:33:27,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:27,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:33:27,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:33:27,891 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:33:27,891 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:33:27,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:33:27,891 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:33:27,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:33:27,891 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:33:27,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:27,892 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:33:27,892 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:33:27,893 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:33:27,893 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:33:27,893 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:33:27,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:33:27,893 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:33:27,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:33:27,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:33:27,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:27,894 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:33:27,894 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:33:27,895 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:33:27,895 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:33:27,895 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:33:27,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:33:27,896 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:33:27,896 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:33:27,896 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:33:27,896 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:33:27,897 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:33:27,898 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:33:27,899 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:33:27,901 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:33:27,901 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:33:29,903 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 < 20);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:33:29,905 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:33:29,906 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:33:29,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:33:29,906 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:33:29,906 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:33:29,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:33:32,423 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-15 07:33:32,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-15 07:33:32,424 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:33:32,425 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:33:32,426 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 < 20);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:33:32,426 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:33:32,429 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:33:32,429 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:33:32,430 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:33:32,431 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:33:32,431 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:33:32,431 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:33:32,432 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:33:32,432 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:33:32,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#true} assume !!(#t~post6 < 20);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:33:32,432 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:33:32,432 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:33:32,433 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:33:32,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:33:32,433 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:33:32,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {6374#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-15 07:33:32,433 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:33:32,433 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:33:32,433 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:33:32,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-15 07:33:32,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-15 07:33:32,434 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:33:32,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {6374#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-15 07:33:32,434 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:33:32,434 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:33:32,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-15 07:33:32,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-15 07:33:32,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-15 07:33:32,434 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:33:32,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-15 07:33:32,434 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:32,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:33:32,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [270806671] [2022-04-15 07:33:32,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:33:32,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [855872594] [2022-04-15 07:33:32,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [855872594] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:33:32,435 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:33:32,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-15 07:33:32,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:33:32,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1435211445] [2022-04-15 07:33:32,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1435211445] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:33:32,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:33:32,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:33:32,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306792609] [2022-04-15 07:33:32,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:33:32,436 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:33:32,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:33:32,436 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:33:34,466 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:34,466 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:33:34,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:33:34,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:33:34,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:33:34,467 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:33:50,777 WARN L232 SmtUtils]: Spent 16.13s 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:33:57,167 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:01,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:01,394 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-04-15 07:34:01,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:34:01,395 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:34:01,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:34:01,395 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:34:01,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:34:01,396 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:34:01,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 07:34:01,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-15 07:34:03,438 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:34:03,439 INFO L225 Difference]: With dead ends: 102 [2022-04-15 07:34:03,440 INFO L226 Difference]: Without dead ends: 97 [2022-04-15 07:34:03,440 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 22.8s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-15 07:34:03,441 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 23 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 8 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:34:03,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 66 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 88 Invalid, 1 Unknown, 0 Unchecked, 3.1s Time] [2022-04-15 07:34:03,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-15 07:34:03,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-15 07:34:03,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:34:03,531 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:34:03,532 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:34:03,532 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:34:03,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:03,533 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:34:03,533 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:34:03,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:03,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:03,534 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:34:03,534 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:34:03,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:03,536 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-15 07:34:03,536 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-15 07:34:03,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:03,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:03,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:34:03,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:34:03,537 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:34:03,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-15 07:34:03,538 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-15 07:34:03,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:34:03,538 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-15 07:34:03,539 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:34:03,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-15 07:34:07,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 93 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:34:07,716 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-15 07:34:07,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:34:07,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:34:07,716 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:34:07,733 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:34:07,919 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:34:07,920 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:34:07,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:34:07,920 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-15 07:34:07,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:07,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1158831259] [2022-04-15 07:34:08,012 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:34:08,012 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:34:08,012 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:34:08,012 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-15 07:34:08,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:34:08,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529686255] [2022-04-15 07:34:08,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:34:08,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:34:08,022 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:34:08,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1818062624] [2022-04-15 07:34:08,023 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:34:08,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:34:08,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:34:08,024 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:34:08,031 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:34:08,073 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:34:08,073 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:34:08,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:34:08,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:34:08,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:34:19,164 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:34:25,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:34:25,562 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:34:25,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:25,562 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:34:25,562 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:34:25,562 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:34:25,563 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:34:25,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:34:25,563 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:34:25,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:34:25,563 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:34:25,563 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:25,564 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:34:25,564 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:34:25,564 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:34:25,564 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:34:25,565 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:34:25,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:34:25,565 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:34:25,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:34:25,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:34:25,565 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:25,566 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:34:25,566 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:34:25,566 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:34:25,567 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:34:25,567 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:34:25,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 20);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:34:25,567 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:34:25,568 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:34:25,568 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:34:25,568 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:34:25,569 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:34:25,570 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:34:25,571 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:34:25,572 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:34:25,572 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:34:27,575 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 < 20);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:34:27,578 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:34:27,578 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:34:27,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:34:27,579 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:34:27,579 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:34:27,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:34:34,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-15 07:34:34,669 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-15 07:34:34,669 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:34:34,670 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:34:34,671 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 < 20);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:34:34,672 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:34:34,674 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:34:34,676 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:34:34,677 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:34:34,678 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:34:34,678 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:34:34,678 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:34:34,679 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:34:34,679 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:34:34,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {7225#true} assume !!(#t~post6 < 20);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:34:34,680 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:34:34,680 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:34:34,680 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:34:34,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:34:34,680 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:34:34,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:34,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:34:34,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:34:34,680 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:34:34,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {7225#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-15 07:34:34,680 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:34:34,680 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:34:34,680 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:34:34,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-15 07:34:34,680 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-15 07:34:34,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:34,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-15 07:34:34,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-15 07:34:34,681 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:34:34,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {7225#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-15 07:34:34,681 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:34:34,681 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:34:34,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-15 07:34:34,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-15 07:34:34,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-15 07:34:34,681 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:34:34,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-15 07:34:34,681 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:34,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:34:34,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [529686255] [2022-04-15 07:34:34,682 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:34:34,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1818062624] [2022-04-15 07:34:34,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1818062624] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:34:34,682 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:34:34,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-15 07:34:34,682 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:34:34,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1158831259] [2022-04-15 07:34:34,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1158831259] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:34:34,682 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:34:34,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:34:34,682 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1668015513] [2022-04-15 07:34:34,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:34:34,683 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:34:34,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:34:34,683 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:34:36,713 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:34:36,713 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:34:36,713 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:36,714 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:34:36,714 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:34:36,714 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:34:38,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:38,724 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-15 07:34:38,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:34:38,724 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:34:38,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:34:38,724 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:34:38,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:34:38,725 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:34:38,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-15 07:34:38,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-15 07:34:40,779 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:34:40,781 INFO L225 Difference]: With dead ends: 103 [2022-04-15 07:34:40,781 INFO L226 Difference]: Without dead ends: 101 [2022-04-15 07:34:40,781 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 66 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:34:40,782 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:34:40,782 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:34:40,782 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-15 07:34:40,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-15 07:34:40,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:34:40,874 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:34:40,874 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:34:40,874 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:34:40,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:40,876 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:34:40,876 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:34:40,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:40,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:40,877 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:34:40,877 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:34:40,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:40,879 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-15 07:34:40,879 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:34:40,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:40,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:40,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:34:40,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:34:40,880 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:34:40,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-15 07:34:40,881 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-15 07:34:40,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:34:40,881 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-15 07:34:40,881 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:34:40,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-15 07:34:45,098 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:34:45,099 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-15 07:34:45,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:34:45,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:34:45,099 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:34:45,116 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:34:45,300 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:34:45,300 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:34:45,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:34:45,300 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-15 07:34:45,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:45,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1431049038] [2022-04-15 07:34:45,410 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:34:45,410 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:34:45,410 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:34:45,410 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-15 07:34:45,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:34:45,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1453688236] [2022-04-15 07:34:45,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:34:45,411 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:34:45,420 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:34:45,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1939394371] [2022-04-15 07:34:45,420 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:34:45,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:34:45,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:34:45,424 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:34:45,444 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:34:45,492 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:34:45,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:34:45,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 07:34:45,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:34:45,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:34:46,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:34:46,059 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:34:46,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:34:46,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:34:46,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:34:46,060 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:34:46,060 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:34:46,060 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 < 20);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:34:46,061 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:34:46,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:34:46,061 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:34:46,061 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:34:46,061 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:34:46,062 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:34:46,062 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:34:46,063 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:34:46,063 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:34:46,064 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 < 20);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:34:46,064 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:34:46,064 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:34:46,064 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:34:46,065 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:34:46,065 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:34:46,066 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:34:46,067 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:34:46,067 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:34:46,067 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:34:46,068 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 < 20);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:34:46,068 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:34:46,068 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:34:46,068 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:34:46,069 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:34:46,070 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:34:46,070 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:34:46,071 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:34:46,071 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:34:46,072 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:34:46,072 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 < 20);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:34:46,073 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:34:46,074 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:34:46,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:34:46,074 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:34:46,074 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:34:46,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:34:48,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-15 07:34:48,943 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-15 07:34:48,943 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:34:48,944 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:34:48,945 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 < 20);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:34:48,945 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:34:48,947 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:34:48,949 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:34:48,949 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:34:48,950 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:34:48,951 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:34:48,951 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:34:48,951 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:34:48,951 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:34:48,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {8105#true} assume !!(#t~post6 < 20);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:34:48,957 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:34:48,957 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:34:48,957 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:34:48,957 INFO L290 TraceCheckUtils]: 23: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:34:48,957 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:34:48,957 INFO L290 TraceCheckUtils]: 21: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:34:48,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:34:48,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:34:48,957 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:34:48,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {8105#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-15 07:34:48,958 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:34:48,958 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:34:48,958 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:34:48,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-15 07:34:48,958 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-15 07:34:48,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:34:48,958 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-15 07:34:48,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-15 07:34:48,958 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:34:48,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {8105#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-15 07:34:48,959 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:34:48,959 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:34:48,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-15 07:34:48,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-15 07:34:48,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-15 07:34:48,959 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:34:48,959 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-15 07:34:48,959 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:48,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:34:48,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1453688236] [2022-04-15 07:34:48,960 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:34:48,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1939394371] [2022-04-15 07:34:48,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1939394371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:34:48,960 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:34:48,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-15 07:34:48,960 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:34:48,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1431049038] [2022-04-15 07:34:48,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1431049038] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:34:48,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:34:48,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:34:48,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [153588447] [2022-04-15 07:34:48,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:34:48,961 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:34:48,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:34:48,962 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:34:49,011 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:34:49,011 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:34:49,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:49,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:34:49,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:34:49,012 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:34:50,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:50,423 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-15 07:34:50,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:34:50,423 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:34:50,423 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:34:50,423 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:34:50,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:34:50,424 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:34:50,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-15 07:34:50,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-15 07:34:50,508 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:34:50,510 INFO L225 Difference]: With dead ends: 113 [2022-04-15 07:34:50,510 INFO L226 Difference]: Without dead ends: 111 [2022-04-15 07:34:50,511 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:34:50,511 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:34:50,511 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.6s Time] [2022-04-15 07:34:50,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-15 07:34:50,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-15 07:34:50,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:34:50,632 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:34:50,632 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:34:50,632 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:34:50,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:50,634 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:34:50,634 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:34:50,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:50,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:50,635 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:34:50,635 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:34:50,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:34:50,637 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-15 07:34:50,637 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-15 07:34:50,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:34:50,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:34:50,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:34:50,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:34:50,637 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:34:50,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-15 07:34:50,639 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-15 07:34:50,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:34:50,639 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-15 07:34:50,640 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:34:50,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-15 07:34:54,881 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:34:54,881 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-15 07:34:54,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 07:34:54,883 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:34:54,883 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:34:54,900 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-15 07:34:55,084 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:34:55,084 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:34:55,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:34:55,084 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-15 07:34:55,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:34:55,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [660305866] [2022-04-15 07:34:55,174 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:34:55,174 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:34:55,174 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:34:55,174 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-15 07:34:55,175 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:34:55,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1388547844] [2022-04-15 07:34:55,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:34:55,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:34:55,183 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:34:55,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2117230525] [2022-04-15 07:34:55,184 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:34:55,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:34:55,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:34:55,185 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:34:55,210 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:34:55,247 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:34:55,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:34:55,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:34:55,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:34:55,259 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:35:21,506 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:35:35,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:35:35,462 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:35:35,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:35,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:35:35,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:35:35,463 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:35:35,463 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:35:35,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {9068#(= main_~x~0 0)} assume !!(#t~post6 < 20);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:35:35,463 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:35:35,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:35:35,464 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:35:35,464 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:35,465 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:35:35,465 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:35:35,465 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:35:35,466 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:35:35,466 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:35:35,466 INFO L290 TraceCheckUtils]: 17: Hoare triple {9099#(= main_~x~0 1)} assume !!(#t~post6 < 20);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:35:35,466 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:35:35,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:35:35,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:35:35,466 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:35,467 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:35:35,467 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:35:35,468 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:35:35,468 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:35:35,468 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:35:35,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {9130#(= main_~x~0 2)} assume !!(#t~post6 < 20);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:35:35,469 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:35:35,469 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:35:35,469 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:35:35,470 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:35:35,471 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:35:35,471 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:35:35,472 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:35:35,472 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:35:35,473 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:35:37,475 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 < 20);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:35:37,478 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:35:37,479 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:35:37,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:35:37,479 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:35:37,479 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:35:37,480 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:35:41,892 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-15 07:35:41,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-15 07:35:41,892 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:35:41,893 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:35:41,894 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 < 20);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:35:41,894 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:35:41,896 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:35:41,897 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:35:41,897 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:35:41,898 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:35:41,898 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:35:41,899 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:35:41,899 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:35:41,899 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:35:41,900 INFO L290 TraceCheckUtils]: 27: Hoare triple {9048#true} assume !!(#t~post6 < 20);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:35:41,900 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:35:41,900 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:35:41,900 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:35:41,900 INFO L290 TraceCheckUtils]: 23: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:35:41,900 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:35:41,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:41,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:35:41,900 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:35:41,900 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:35:41,900 INFO L290 TraceCheckUtils]: 17: Hoare triple {9048#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-15 07:35:41,901 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:35:41,901 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:35:41,901 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:35:41,901 INFO L290 TraceCheckUtils]: 13: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-15 07:35:41,901 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:35:41,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {9048#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-15 07:35:41,901 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:35:41,901 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:35:41,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-15 07:35:41,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-15 07:35:41,901 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:35:41,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-15 07:35:41,902 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:35:41,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:35:41,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1388547844] [2022-04-15 07:35:41,902 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:35:41,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2117230525] [2022-04-15 07:35:41,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2117230525] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:35:41,902 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:35:41,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 07:35:41,902 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:35:41,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [660305866] [2022-04-15 07:35:41,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [660305866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:35:41,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:35:41,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:35:41,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1530055293] [2022-04-15 07:35:41,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:35:41,907 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:35:41,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:35:41,908 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:35:43,948 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:35:43,948 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:35:43,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:35:43,949 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:35:43,949 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:35:43,949 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:36:05,045 WARN L232 SmtUtils]: Spent 20.17s 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:36:06,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:06,062 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-15 07:36:06,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:36:06,062 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:36:06,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:06,062 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:36:06,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:36:06,063 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:36:06,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:36:06,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 07:36:08,155 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:36:08,157 INFO L225 Difference]: With dead ends: 150 [2022-04-15 07:36:08,157 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 07:36:08,158 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:36:08,158 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 22 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 331 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 331 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:36:08,158 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 184 Invalid, 338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 331 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:36:08,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 07:36:08,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-15 07:36:08,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:08,268 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:36:08,268 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:36:08,269 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:36:08,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:08,272 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:36:08,272 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:36:08,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:08,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:08,273 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:36:08,273 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:36:08,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:08,276 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-15 07:36:08,276 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-15 07:36:08,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:08,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:08,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:08,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:08,277 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:36:08,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-15 07:36:08,279 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-15 07:36:08,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:08,279 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-15 07:36:08,279 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:36:08,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-15 07:36:14,546 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:36:14,546 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-15 07:36:14,547 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 07:36:14,547 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:14,547 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:36:14,565 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:36:14,747 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:36:14,748 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:14,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:14,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-15 07:36:14,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:14,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1960252367] [2022-04-15 07:36:14,852 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:36:14,852 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:36:14,852 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:36:14,852 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-15 07:36:14,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:14,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [989075999] [2022-04-15 07:36:14,853 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:14,853 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:14,865 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:14,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1491207196] [2022-04-15 07:36:14,865 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:36:14,865 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:14,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:14,866 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:36:14,870 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:36:14,910 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:36:14,910 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:14,911 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 07:36:14,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:14,925 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:15,124 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:36:15,125 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:36:15,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {10146#(<= ~counter~0 0)} assume true; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:36:15,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10146#(<= ~counter~0 0)} {10138#true} #62#return; {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:36:15,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {10146#(<= ~counter~0 0)} call #t~ret9 := main(); {10146#(<= ~counter~0 0)} is VALID [2022-04-15 07:36:15,126 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:36:15,127 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:36:15,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= ~counter~0 1)} assume !!(#t~post6 < 20);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:36:15,128 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:36:15,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= ~counter~0 1)} ~cond := #in~cond; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:36:15,128 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= ~counter~0 1)} assume !(0 == ~cond); {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:36:15,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= ~counter~0 1)} assume true; {10162#(<= ~counter~0 1)} is VALID [2022-04-15 07:36:15,129 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:36:15,130 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:36:15,130 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:36:15,130 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:36:15,131 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:36:15,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {10193#(<= ~counter~0 2)} assume !!(#t~post6 < 20);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:36:15,132 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:36:15,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {10193#(<= ~counter~0 2)} ~cond := #in~cond; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:36:15,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {10193#(<= ~counter~0 2)} assume !(0 == ~cond); {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:36:15,133 INFO L290 TraceCheckUtils]: 21: Hoare triple {10193#(<= ~counter~0 2)} assume true; {10193#(<= ~counter~0 2)} is VALID [2022-04-15 07:36:15,133 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:36:15,133 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:36:15,134 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:36:15,134 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:36:15,135 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:36:15,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {10224#(<= ~counter~0 3)} assume !!(#t~post6 < 20);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:36:15,136 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:36:15,136 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#(<= ~counter~0 3)} ~cond := #in~cond; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:36:15,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#(<= ~counter~0 3)} assume !(0 == ~cond); {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:36:15,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#(<= ~counter~0 3)} assume true; {10224#(<= ~counter~0 3)} is VALID [2022-04-15 07:36:15,137 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:36:15,141 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:36:15,142 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:36:15,142 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:36:15,142 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:36:15,143 INFO L290 TraceCheckUtils]: 37: Hoare triple {10255#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:36:15,143 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:36:15,143 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:36:15,143 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:36:15,143 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:36:15,143 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:36:15,143 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:36:15,143 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:15,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-15 07:36:15,397 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-15 07:36:15,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-15 07:36:15,397 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:36:15,397 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:36:15,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {10289#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {10139#false} is VALID [2022-04-15 07:36:15,398 INFO L290 TraceCheckUtils]: 36: Hoare triple {10293#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10289#(< |main_#t~post6| 20)} is VALID [2022-04-15 07:36:15,398 INFO L290 TraceCheckUtils]: 35: Hoare triple {10293#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10293#(< ~counter~0 20)} is VALID [2022-04-15 07:36:15,398 INFO L290 TraceCheckUtils]: 34: Hoare triple {10293#(< ~counter~0 20)} 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 20)} is VALID [2022-04-15 07:36:15,398 INFO L290 TraceCheckUtils]: 33: Hoare triple {10293#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {10293#(< ~counter~0 20)} is VALID [2022-04-15 07:36:15,399 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10138#true} {10293#(< ~counter~0 20)} #58#return; {10293#(< ~counter~0 20)} is VALID [2022-04-15 07:36:15,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:36:15,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:36:15,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:36:15,399 INFO L272 TraceCheckUtils]: 28: Hoare triple {10293#(< ~counter~0 20)} 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:36:15,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {10293#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(< ~counter~0 20)} is VALID [2022-04-15 07:36:15,412 INFO L290 TraceCheckUtils]: 26: Hoare triple {10324#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(< ~counter~0 20)} is VALID [2022-04-15 07:36:15,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {10324#(< ~counter~0 19)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {10324#(< ~counter~0 19)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {10324#(< ~counter~0 19)} assume !!(~x~0 <= ~X~0); {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,414 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10138#true} {10324#(< ~counter~0 19)} #58#return; {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:36:15,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:36:15,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:36:15,415 INFO L272 TraceCheckUtils]: 18: Hoare triple {10324#(< ~counter~0 19)} 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:36:15,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {10324#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,416 INFO L290 TraceCheckUtils]: 16: Hoare triple {10355#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10324#(< ~counter~0 19)} is VALID [2022-04-15 07:36:15,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {10355#(< ~counter~0 18)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {10355#(< ~counter~0 18)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#(< ~counter~0 18)} assume !!(~x~0 <= ~X~0); {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,417 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10138#true} {10355#(< ~counter~0 18)} #58#return; {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-15 07:36:15,418 INFO L290 TraceCheckUtils]: 10: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-15 07:36:15,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-15 07:36:15,418 INFO L272 TraceCheckUtils]: 8: Hoare triple {10355#(< ~counter~0 18)} 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:36:15,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,419 INFO L290 TraceCheckUtils]: 6: Hoare triple {10386#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10355#(< ~counter~0 18)} is VALID [2022-04-15 07:36:15,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {10386#(< ~counter~0 17)} 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 17)} is VALID [2022-04-15 07:36:15,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {10386#(< ~counter~0 17)} call #t~ret9 := main(); {10386#(< ~counter~0 17)} is VALID [2022-04-15 07:36:15,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10386#(< ~counter~0 17)} {10138#true} #62#return; {10386#(< ~counter~0 17)} is VALID [2022-04-15 07:36:15,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {10386#(< ~counter~0 17)} assume true; {10386#(< ~counter~0 17)} is VALID [2022-04-15 07:36:15,421 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 17)} is VALID [2022-04-15 07:36:15,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-15 07:36:15,422 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:36:15,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:15,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [989075999] [2022-04-15 07:36:15,422 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:15,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1491207196] [2022-04-15 07:36:15,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1491207196] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:15,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:15,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 07:36:15,422 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:15,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1960252367] [2022-04-15 07:36:15,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1960252367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:15,423 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:15,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:36:15,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133983972] [2022-04-15 07:36:15,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:15,423 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:36:15,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:15,424 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:36:15,462 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:36:15,462 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:36:15,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:15,462 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:36:15,462 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:36:15,463 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:36:15,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:15,724 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 07:36:15,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:36:15,724 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:36:15,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:15,725 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:36:15,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:36:15,726 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:36:15,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-15 07:36:15,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-15 07:36:15,792 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:36:15,794 INFO L225 Difference]: With dead ends: 131 [2022-04-15 07:36:15,794 INFO L226 Difference]: Without dead ends: 123 [2022-04-15 07:36:15,795 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:36:15,795 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:36:15,796 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:36:15,796 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-15 07:36:15,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-15 07:36:15,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:15,970 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:36:15,970 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:36:15,970 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:36:15,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:15,973 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:36:15,973 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:36:15,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:15,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:15,974 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:36:15,974 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:36:15,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:15,976 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-15 07:36:15,976 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-15 07:36:15,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:15,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:15,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:15,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:15,977 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:36:15,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-15 07:36:15,979 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-15 07:36:15,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:15,979 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-15 07:36:15,979 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:36:15,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-15 07:36:28,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 126 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-15 07:36:28,295 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-15 07:36:28,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:36:28,296 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:28,296 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:36:28,313 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-15 07:36:28,499 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:36:28,499 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:28,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:28,500 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-15 07:36:28,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:28,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [662528784] [2022-04-15 07:36:28,597 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:36:28,598 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:36:28,598 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:36:28,598 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-15 07:36:28,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:28,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [734633522] [2022-04-15 07:36:28,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:28,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:28,607 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:28,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2070667293] [2022-04-15 07:36:28,608 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:36:28,608 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:28,608 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:28,609 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:36:28,610 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:36:28,654 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:36:28,654 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:28,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 07:36:28,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:28,670 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:30,003 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:36:30,004 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:36:30,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:36:30,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:36:30,005 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:36:30,005 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:36:30,006 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 < 20);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:36:30,006 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:36:30,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,006 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,006 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,007 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:36:30,007 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:36:30,008 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:36:30,009 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:36:30,009 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:36:30,009 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 < 20);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:36:30,010 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:36:30,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,010 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,010 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:36:30,011 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:36:30,012 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:36:30,012 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:36:30,013 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:36:30,013 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 < 20);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:36:30,013 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:36:30,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,014 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,014 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:36:30,014 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:36:30,015 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:36:30,016 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:36:30,016 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:36:30,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 20);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:36:30,017 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:36:30,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,018 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:36:30,018 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:36:30,018 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:36:30,018 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:36:30,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:36:30,019 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:36:30,019 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:36:30,019 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:36:30,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:30,448 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-15 07:36:30,448 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-15 07:36:30,449 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-15 07:36:30,449 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:36:30,449 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:36:30,449 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:36:30,449 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:36:30,450 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,450 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,450 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,450 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:36:30,450 INFO L290 TraceCheckUtils]: 37: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);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:36:30,450 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:36:30,451 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:36:30,452 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:36:30,452 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:36:30,453 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:36:30,453 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,453 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,453 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:36:30,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 20);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:36:30,453 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:36:30,454 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:36:30,455 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:36:30,455 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:36:30,456 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:36:30,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,456 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:36:30,456 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 < 20);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:36:30,457 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:36:30,458 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:36:30,458 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:36:30,459 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:36:30,459 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:36:30,460 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,460 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-15 07:36:30,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-15 07:36:30,460 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:36:30,460 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 < 20);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:36:30,460 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:36:30,461 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:36:30,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-15 07:36:30,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-15 07:36:30,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-15 07:36:30,461 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:36:30,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-15 07:36:30,462 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:36:30,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:30,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [734633522] [2022-04-15 07:36:30,462 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:30,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2070667293] [2022-04-15 07:36:30,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2070667293] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:30,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:30,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-15 07:36:30,462 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:30,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [662528784] [2022-04-15 07:36:30,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [662528784] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:30,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:30,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:36:30,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1545688662] [2022-04-15 07:36:30,463 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:30,463 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:36:30,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:30,463 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:36:30,504 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:36:30,505 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:36:30,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:30,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:36:30,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:36:30,505 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:36:31,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:31,166 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-15 07:36:31,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:36:31,166 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:36:31,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:31,166 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:36:31,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:36:31,167 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:36:31,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 07:36:31,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-15 07:36:31,229 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:36:31,230 INFO L225 Difference]: With dead ends: 136 [2022-04-15 07:36:31,230 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 07:36:31,231 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:36:31,231 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:36:31,231 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:36:31,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 07:36:31,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-15 07:36:31,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:31,402 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:36:31,402 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:36:31,402 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:36:31,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:31,405 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:36:31,405 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:36:31,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:31,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:31,405 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:36:31,406 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:36:31,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:31,408 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-15 07:36:31,408 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-15 07:36:31,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:31,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:31,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:31,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:31,409 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:36:31,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-15 07:36:31,411 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-15 07:36:31,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:31,411 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-15 07:36:31,411 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:36:31,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-15 07:36:44,066 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:36:44,066 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-15 07:36:44,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:36:44,067 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:44,067 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:36:44,087 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:36:44,271 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:36:44,272 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:44,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:44,272 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-15 07:36:44,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:44,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1590220996] [2022-04-15 07:36:44,362 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:36:44,363 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:36:44,363 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:36:44,363 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-15 07:36:44,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:44,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1439171894] [2022-04-15 07:36:44,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:44,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:44,371 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:44,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [195170389] [2022-04-15 07:36:44,372 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:36:44,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:44,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:44,373 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:36:44,389 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:36:44,430 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:36:44,430 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:44,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 07:36:44,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:44,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:45,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:36:45,811 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:36:45,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:45,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:36:45,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:36:45,812 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:36:45,812 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:36:45,813 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 < 20);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:36:45,813 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:36:45,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:45,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:45,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:45,814 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:36:45,817 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:36:45,818 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:36:45,818 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:36:45,819 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:36:45,819 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 < 20);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:36:45,819 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:36:45,819 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:45,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:45,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:45,820 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:36:45,821 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:36:45,822 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:36:45,822 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:36:45,822 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:36:45,823 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 < 20);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:36:45,823 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:36:45,823 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:45,823 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:45,823 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:45,824 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:36:45,824 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:36:45,824 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:36:45,825 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:36:45,825 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:36:45,826 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 < 20);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:36:45,826 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:36:45,826 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:45,826 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:45,826 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:45,826 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:36:45,827 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:36:45,827 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:36:45,827 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:36:45,827 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:36:45,827 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:36:45,828 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:36:45,828 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:36:45,828 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:46,155 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-15 07:36:46,156 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-15 07:36:46,156 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-15 07:36:46,156 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:36:46,156 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:36:46,156 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:36:46,157 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:36:46,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:46,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:46,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:46,157 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:36:46,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);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:36:46,157 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:36:46,159 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:36:46,159 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:36:46,159 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:36:46,160 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:36:46,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:46,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:46,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:46,160 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:36:46,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 20);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:36:46,161 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:36:46,161 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:36:46,162 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:36:46,162 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:36:46,163 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:36:46,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:46,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:46,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:46,163 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:36:46,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 20);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:36:46,164 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:36:46,164 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:36:46,165 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:36:46,165 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:36:46,166 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:36:46,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:46,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-15 07:36:46,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-15 07:36:46,166 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:36:46,167 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 < 20);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:36:46,167 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:36:46,168 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:36:46,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-15 07:36:46,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-15 07:36:46,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-15 07:36:46,168 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:36:46,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-15 07:36:46,168 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:36:46,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:46,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1439171894] [2022-04-15 07:36:46,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:46,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [195170389] [2022-04-15 07:36:46,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [195170389] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:46,169 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:46,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 07:36:46,169 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:46,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1590220996] [2022-04-15 07:36:46,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1590220996] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:46,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:46,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:36:46,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042799006] [2022-04-15 07:36:46,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:46,170 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:36:46,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:46,170 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:36:46,215 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:36:46,216 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:36:46,216 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:46,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:36:46,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:36:46,216 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:36:46,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:46,847 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-15 07:36:46,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:36:46,848 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:36:46,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:46,848 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:36:46,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:36:46,849 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:36:46,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-15 07:36:46,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-15 07:36:46,923 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:36:46,925 INFO L225 Difference]: With dead ends: 138 [2022-04-15 07:36:46,925 INFO L226 Difference]: Without dead ends: 130 [2022-04-15 07:36:46,926 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:36:46,926 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:36:46,926 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:36:46,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-15 07:36:47,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-15 07:36:47,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:47,137 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:36:47,137 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:36:47,137 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:36:47,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:47,140 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:36:47,140 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:36:47,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:47,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:47,140 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:36:47,141 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:36:47,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:47,143 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-15 07:36:47,143 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:36:47,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:47,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:47,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:47,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:47,144 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:36:47,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-15 07:36:47,146 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-15 07:36:47,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:47,146 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-15 07:36:47,146 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:36:47,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-15 07:36:57,517 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:36:57,517 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-15 07:36:57,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:36:57,518 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:57,518 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:36:57,537 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:36:57,727 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:36:57,727 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:57,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:57,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-15 07:36:57,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:57,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1493557858] [2022-04-15 07:36:57,815 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-15 07:36:57,815 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-15 07:36:57,815 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 07:36:57,816 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-15 07:36:57,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:57,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [782645724] [2022-04-15 07:36:57,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:57,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:57,827 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:57,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1239375781] [2022-04-15 07:36:57,827 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:36:57,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:57,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:57,828 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:36:57,838 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:36:57,887 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:36:57,888 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:57,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:36:57,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:57,902 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:15,906 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:20,337 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:24,361 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:41,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {13335#true} call ULTIMATE.init(); {13335#true} is VALID [2022-04-15 07:37:41,734 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:37:41,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:37:41,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13335#true} {13335#true} #62#return; {13335#true} is VALID [2022-04-15 07:37:41,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {13335#true} call #t~ret9 := main(); {13335#true} is VALID [2022-04-15 07:37:41,734 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:37:41,735 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:37:41,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);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:37:41,735 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:37:41,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:37:41,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:37:41,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:37:41,736 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:37:41,738 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:37:41,738 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:37:41,739 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:37:41,739 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:37:41,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 20);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:37:41,740 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:37:41,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:37:41,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:37:41,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:37:41,741 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:37:41,741 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:37:41,742 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:37:41,742 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:37:41,742 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:37:41,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 20);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:37:41,743 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:37:41,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-15 07:37:41,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-15 07:37:41,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-15 07:37:41,744 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:37:41,744 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:37:41,745 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:37:41,746 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:37:41,747 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:37:41,747 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 < 20);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:37:41,748 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:37:41,748 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:37:41,748 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:37:41,749 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:37:41,750 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:37:41,751 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:37:43,754 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:37:43,756 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:37:43,757 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:37:43,757 INFO L290 TraceCheckUtils]: 47: Hoare triple {13491#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13336#false} is VALID [2022-04-15 07:37:43,757 INFO L290 TraceCheckUtils]: 48: Hoare triple {13336#false} assume !false; {13336#false} is VALID [2022-04-15 07:37:43,757 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:37:43,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:37:48,407 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful