/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:37:02,520 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:37:02,545 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:37:02,588 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:37:02,589 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:37:02,590 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:37:02,593 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:37:02,594 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:37:02,595 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:37:02,596 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:37:02,596 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:37:02,597 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:37:02,598 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:37:02,598 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:37:02,599 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:37:02,600 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:37:02,601 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:37:02,601 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:37:02,603 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:37:02,604 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:37:02,605 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:37:02,613 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:37:02,615 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:37:02,617 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:37:02,619 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:37:02,622 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:37:02,622 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:37:02,622 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:37:02,623 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:37:02,623 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:37:02,624 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:37:02,624 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:37:02,625 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:37:02,625 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:37:02,626 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:37:02,627 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:37:02,627 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:37:02,627 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:37:02,628 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:37:02,628 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:37:02,628 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:37:02,633 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:37:02,634 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:37:02,645 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:37:02,645 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:37:02,647 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:37:02,647 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:37:02,648 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:37:02,648 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:37:02,648 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:37:02,648 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:37:02,649 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:37:02,649 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:37:02,649 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:37:02,650 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:37:02,650 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:37:02,650 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:37:02,650 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:37:02,650 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 04:37:02,894 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:37:02,913 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:37:02,915 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:37:02,917 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:37:02,917 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:37:02,918 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c [2022-04-08 04:37:02,976 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2278c373c/cfca835b48744e89b55e733fbf72dea6/FLAG41af14d78 [2022-04-08 04:37:03,375 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:37:03,376 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c [2022-04-08 04:37:03,382 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2278c373c/cfca835b48744e89b55e733fbf72dea6/FLAG41af14d78 [2022-04-08 04:37:03,777 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2278c373c/cfca835b48744e89b55e733fbf72dea6 [2022-04-08 04:37:03,779 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:37:03,781 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:37:03,783 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:37:03,783 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:37:03,787 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:37:03,788 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:37:03" (1/1) ... [2022-04-08 04:37:03,789 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3658427d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:03, skipping insertion in model container [2022-04-08 04:37:03,789 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:37:03" (1/1) ... [2022-04-08 04:37:03,795 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:37:03,808 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:37:03,953 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c[597,610] [2022-04-08 04:37:03,982 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:37:03,991 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:37:04,001 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound100.c[597,610] [2022-04-08 04:37:04,008 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:37:04,019 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:37:04,019 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04 WrapperNode [2022-04-08 04:37:04,019 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:37:04,020 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:37:04,020 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:37:04,020 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:37:04,029 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,029 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,036 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,036 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,051 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,055 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,059 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,062 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:37:04,063 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:37:04,063 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:37:04,063 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:37:04,064 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (1/1) ... [2022-04-08 04:37:04,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:37:04,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:04,092 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 04:37:04,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:37:04,133 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:37:04,134 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:37:04,134 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:37:04,134 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:37:04,134 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:37:04,134 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:37:04,135 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:37:04,136 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:37:04,193 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:37:04,195 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:37:04,363 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:37:04,368 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:37:04,368 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 04:37:04,370 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:37:04 BoogieIcfgContainer [2022-04-08 04:37:04,370 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:37:04,371 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:37:04,371 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:37:04,388 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:37:04,388 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:37:03" (1/3) ... [2022-04-08 04:37:04,389 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@62632a16 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:37:04, skipping insertion in model container [2022-04-08 04:37:04,389 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:37:04" (2/3) ... [2022-04-08 04:37:04,389 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@62632a16 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:37:04, skipping insertion in model container [2022-04-08 04:37:04,390 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:37:04" (3/3) ... [2022-04-08 04:37:04,391 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound100.c [2022-04-08 04:37:04,394 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:37:04,395 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:37:04,454 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:37:04,460 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:37:04,461 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:37:04,492 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:04,497 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 04:37:04,497 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:04,497 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:04,498 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:04,509 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:04,509 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-08 04:37:04,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:04,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1052150097] [2022-04-08 04:37:04,526 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:37:04,527 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 2 times [2022-04-08 04:37:04,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:04,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703645598] [2022-04-08 04:37:04,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:04,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:04,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:04,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:37:04,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:04,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-08 04:37:04,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-08 04:37:04,744 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-08 04:37:04,747 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:37:04,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-08 04:37:04,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-08 04:37:04,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-08 04:37:04,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-08 04:37:04,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-08 04:37:04,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-08 04:37:04,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-08 04:37:04,752 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {29#false} is VALID [2022-04-08 04:37:04,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-08 04:37:04,753 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-08 04:37:04,753 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-08 04:37:04,753 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:04,754 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:04,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1703645598] [2022-04-08 04:37:04,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1703645598] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:04,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:04,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:37:04,759 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:04,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1052150097] [2022-04-08 04:37:04,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1052150097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:04,763 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:04,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:37:04,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [420042186] [2022-04-08 04:37:04,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:04,768 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 04:37:04,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:04,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:04,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:04,801 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:37:04,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:04,820 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:37:04,821 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:37:04,824 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:04,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:04,932 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 04:37:04,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:37:04,932 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 04:37:04,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:04,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:04,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-08 04:37:04,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:04,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-08 04:37:04,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-08 04:37:05,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:05,032 INFO L225 Difference]: With dead ends: 45 [2022-04-08 04:37:05,033 INFO L226 Difference]: Without dead ends: 21 [2022-04-08 04:37:05,035 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:37:05,038 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:05,038 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:37:05,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-08 04:37:05,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-08 04:37:05,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:05,081 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:05,082 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:05,082 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:05,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:05,086 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-08 04:37:05,086 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-08 04:37:05,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:05,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:05,087 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-08 04:37:05,087 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-08 04:37:05,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:05,091 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-08 04:37:05,091 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-08 04:37:05,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:05,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:05,092 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:05,092 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:05,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:05,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-08 04:37:05,096 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-08 04:37:05,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:05,096 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-08 04:37:05,105 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 23 transitions. [2022-04-08 04:37:05,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:05,145 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-08 04:37:05,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 04:37:05,146 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:05,146 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:05,146 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:37:05,147 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:05,147 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:05,147 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-08 04:37:05,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:05,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [473421920] [2022-04-08 04:37:05,148 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:37:05,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 2 times [2022-04-08 04:37:05,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:05,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309678205] [2022-04-08 04:37:05,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:05,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:05,167 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:05,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1122006618] [2022-04-08 04:37:05,168 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:05,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:05,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:05,175 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:05,188 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 04:37:05,265 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:37:05,266 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:05,267 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 04:37:05,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:05,280 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:05,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {208#true} call ULTIMATE.init(); {208#true} is VALID [2022-04-08 04:37:05,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {208#true} is VALID [2022-04-08 04:37:05,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {208#true} assume true; {208#true} is VALID [2022-04-08 04:37:05,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {208#true} {208#true} #62#return; {208#true} is VALID [2022-04-08 04:37:05,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {208#true} call #t~ret9 := main(); {208#true} is VALID [2022-04-08 04:37:05,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {208#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:05,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:05,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {228#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {235#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-08 04:37:05,510 INFO L272 TraceCheckUtils]: 8: Hoare triple {235#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:05,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:05,511 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {209#false} is VALID [2022-04-08 04:37:05,512 INFO L290 TraceCheckUtils]: 11: Hoare triple {209#false} assume !false; {209#false} is VALID [2022-04-08 04:37:05,512 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:05,512 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:37:05,512 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:05,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309678205] [2022-04-08 04:37:05,513 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:05,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1122006618] [2022-04-08 04:37:05,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1122006618] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:05,513 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:05,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:37:05,515 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:05,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [473421920] [2022-04-08 04:37:05,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [473421920] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:05,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:05,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:37:05,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [826729610] [2022-04-08 04:37:05,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:05,516 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 04:37:05,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:05,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:05,532 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:37:05,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:05,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:37:05,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:37:05,533 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:05,766 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-08 04:37:05,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:37:05,766 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 04:37:05,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:05,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 04:37:05,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 04:37:05,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-08 04:37:05,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:05,814 INFO L225 Difference]: With dead ends: 34 [2022-04-08 04:37:05,814 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 04:37:05,820 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-08 04:37:05,822 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:05,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:37:05,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 04:37:05,856 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-08 04:37:05,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:05,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:05,859 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:05,859 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:05,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:05,862 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-08 04:37:05,863 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 04:37:05,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:05,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:05,864 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-08 04:37:05,867 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-08 04:37:05,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:05,873 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-08 04:37:05,873 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-08 04:37:05,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:05,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:05,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:05,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:05,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:05,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-08 04:37:05,876 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-08 04:37:05,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:05,876 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-08 04:37:05,876 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 04:37:05,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 31 transitions. [2022-04-08 04:37:05,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:05,908 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-08 04:37:05,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 04:37:05,908 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:05,909 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:05,931 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 04:37:06,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:06,128 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:06,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:06,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-08 04:37:06,129 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:06,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [559213705] [2022-04-08 04:37:06,277 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:06,278 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:06,278 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:06,278 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 2 times [2022-04-08 04:37:06,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:06,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [996088942] [2022-04-08 04:37:06,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:06,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:06,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:06,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [68518079] [2022-04-08 04:37:06,321 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:06,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:06,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:06,324 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:06,325 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 04:37:06,371 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:37:06,371 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:06,372 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 04:37:06,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:06,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:06,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-08 04:37:06,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {435#true} is VALID [2022-04-08 04:37:06,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 04:37:06,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-08 04:37:06,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-08 04:37:06,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:06,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:06,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:06,663 INFO L272 TraceCheckUtils]: 8: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {435#true} is VALID [2022-04-08 04:37:06,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-08 04:37:06,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-08 04:37:06,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 04:37:06,665 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:06,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:06,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {455#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:06,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {483#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:06,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:06,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {487#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:06,670 INFO L272 TraceCheckUtils]: 18: Hoare triple {494#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:06,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:06,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-08 04:37:06,671 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-08 04:37:06,671 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:06,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:06,866 INFO L290 TraceCheckUtils]: 21: Hoare triple {436#false} assume !false; {436#false} is VALID [2022-04-08 04:37:06,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {502#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {436#false} is VALID [2022-04-08 04:37:06,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {498#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {502#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:06,870 INFO L272 TraceCheckUtils]: 18: Hoare triple {518#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {498#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:06,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {518#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:37:06,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {529#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {529#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:37:06,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,880 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {435#true} {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 04:37:06,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {435#true} assume !(0 == ~cond); {435#true} is VALID [2022-04-08 04:37:06,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {435#true} ~cond := #in~cond; {435#true} is VALID [2022-04-08 04:37:06,881 INFO L272 TraceCheckUtils]: 8: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {435#true} is VALID [2022-04-08 04:37:06,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {435#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {522#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:06,883 INFO L272 TraceCheckUtils]: 4: Hoare triple {435#true} call #t~ret9 := main(); {435#true} is VALID [2022-04-08 04:37:06,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {435#true} {435#true} #62#return; {435#true} is VALID [2022-04-08 04:37:06,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {435#true} assume true; {435#true} is VALID [2022-04-08 04:37:06,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {435#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {435#true} is VALID [2022-04-08 04:37:06,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {435#true} call ULTIMATE.init(); {435#true} is VALID [2022-04-08 04:37:06,885 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-08 04:37:06,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:06,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [996088942] [2022-04-08 04:37:06,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:06,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [68518079] [2022-04-08 04:37:06,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [68518079] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:06,886 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:06,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-08 04:37:06,886 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:06,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [559213705] [2022-04-08 04:37:06,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [559213705] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:06,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:06,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:37:06,887 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [720591089] [2022-04-08 04:37:06,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:06,887 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-08 04:37:06,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:06,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:06,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:06,912 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:37:06,913 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:06,913 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:37:06,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:37:06,914 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:07,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:07,257 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-08 04:37:07,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:37:07,258 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-08 04:37:07,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:07,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:07,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 04:37:07,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:07,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 04:37:07,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 04:37:07,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:07,307 INFO L225 Difference]: With dead ends: 44 [2022-04-08 04:37:07,307 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 04:37:07,308 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:37:07,309 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 12 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:07,309 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 106 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:37:07,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 04:37:07,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2022-04-08 04:37:07,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:07,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:07,328 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:07,328 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:07,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:07,330 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 04:37:07,330 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-08 04:37:07,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:07,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:07,331 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-08 04:37:07,331 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 39 states. [2022-04-08 04:37:07,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:07,333 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-08 04:37:07,333 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-04-08 04:37:07,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:07,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:07,334 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:07,334 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:07,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:07,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-08 04:37:07,336 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 22 [2022-04-08 04:37:07,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:07,336 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-08 04:37:07,337 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:07,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-08 04:37:07,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:07,376 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-08 04:37:07,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 04:37:07,377 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:07,377 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:07,403 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 04:37:07,600 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 04:37:07,601 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:07,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:07,601 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 1 times [2022-04-08 04:37:07,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:07,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1955404514] [2022-04-08 04:37:07,664 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:07,664 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:07,665 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:07,665 INFO L85 PathProgramCache]: Analyzing trace with hash 794559142, now seen corresponding path program 2 times [2022-04-08 04:37:07,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:07,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1970280602] [2022-04-08 04:37:07,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:07,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:07,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:07,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2031362932] [2022-04-08 04:37:07,677 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:07,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:07,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:07,684 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:07,709 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 04:37:07,732 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:37:07,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:07,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 04:37:07,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:07,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:07,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-08 04:37:07,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {823#true} is VALID [2022-04-08 04:37:07,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 04:37:07,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-08 04:37:07,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-08 04:37:07,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:07,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:07,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:07,956 INFO L272 TraceCheckUtils]: 8: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {823#true} is VALID [2022-04-08 04:37:07,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-08 04:37:07,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-08 04:37:07,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 04:37:07,957 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:07,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:07,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {843#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {871#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:37:07,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {871#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:37:07,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:37:07,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {875#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-08 04:37:07,962 INFO L272 TraceCheckUtils]: 18: Hoare triple {882#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:07,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:07,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-08 04:37:07,963 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-08 04:37:07,963 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:07,963 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:08,143 INFO L290 TraceCheckUtils]: 21: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-04-08 04:37:08,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {824#false} is VALID [2022-04-08 04:37:08,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:08,146 INFO L272 TraceCheckUtils]: 18: Hoare triple {906#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:08,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {906#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:37:08,147 INFO L290 TraceCheckUtils]: 16: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {917#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {917#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:37:08,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,246 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {823#true} {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 04:37:08,247 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-04-08 04:37:08,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-04-08 04:37:08,247 INFO L272 TraceCheckUtils]: 8: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {823#true} is VALID [2022-04-08 04:37:08,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,250 INFO L290 TraceCheckUtils]: 6: Hoare triple {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {910#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:08,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret9 := main(); {823#true} is VALID [2022-04-08 04:37:08,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #62#return; {823#true} is VALID [2022-04-08 04:37:08,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-04-08 04:37:08,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {823#true} is VALID [2022-04-08 04:37:08,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2022-04-08 04:37:08,252 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-08 04:37:08,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:08,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1970280602] [2022-04-08 04:37:08,253 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:08,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2031362932] [2022-04-08 04:37:08,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2031362932] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:08,253 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:08,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-08 04:37:08,253 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:08,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1955404514] [2022-04-08 04:37:08,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1955404514] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:08,254 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:08,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:37:08,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [35418794] [2022-04-08 04:37:08,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:08,254 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-08 04:37:08,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:08,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:08,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:08,277 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:37:08,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:08,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:37:08,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:37:08,278 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:08,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:08,629 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-08 04:37:08,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:37:08,630 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-04-08 04:37:08,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:08,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:08,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 04:37:08,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:08,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 04:37:08,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 04:37:08,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:08,680 INFO L225 Difference]: With dead ends: 53 [2022-04-08 04:37:08,681 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 04:37:08,681 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:37:08,682 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 123 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 123 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:08,682 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 111 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 123 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:37:08,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 04:37:08,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 46. [2022-04-08 04:37:08,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:08,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:08,703 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:08,704 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:08,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:08,711 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-08 04:37:08,711 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-08 04:37:08,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:08,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:08,714 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-08 04:37:08,714 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-04-08 04:37:08,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:08,720 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-04-08 04:37:08,720 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-04-08 04:37:08,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:08,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:08,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:08,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:08,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:08,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-08 04:37:08,728 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 22 [2022-04-08 04:37:08,729 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:08,729 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-08 04:37:08,729 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:08,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 51 transitions. [2022-04-08 04:37:08,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:08,780 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-08 04:37:08,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:37:08,782 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:08,782 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:08,806 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 04:37:08,999 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:09,000 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:09,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:09,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-08 04:37:09,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:09,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1997976168] [2022-04-08 04:37:09,059 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:09,059 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:09,059 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:09,059 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 2 times [2022-04-08 04:37:09,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:09,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [556410463] [2022-04-08 04:37:09,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:09,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:09,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:09,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [665640847] [2022-04-08 04:37:09,084 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:09,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:09,084 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:09,088 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:09,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 04:37:09,141 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:37:09,141 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:09,142 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:37:09,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:09,152 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:09,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-08 04:37:09,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 04:37:09,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {1277#(<= ~counter~0 0)} assume true; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 04:37:09,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1277#(<= ~counter~0 0)} {1269#true} #62#return; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 04:37:09,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {1277#(<= ~counter~0 0)} call #t~ret9 := main(); {1277#(<= ~counter~0 0)} is VALID [2022-04-08 04:37:09,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {1277#(<= ~counter~0 0)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1277#(<= ~counter~0 0)} is VALID [2022-04-08 04:37:09,299 INFO L290 TraceCheckUtils]: 6: Hoare triple {1277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,301 INFO L272 TraceCheckUtils]: 8: Hoare triple {1293#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {1293#(<= ~counter~0 1)} ~cond := #in~cond; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,301 INFO L290 TraceCheckUtils]: 10: Hoare triple {1293#(<= ~counter~0 1)} assume !(0 == ~cond); {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,302 INFO L290 TraceCheckUtils]: 11: Hoare triple {1293#(<= ~counter~0 1)} assume true; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,302 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1293#(<= ~counter~0 1)} {1293#(<= ~counter~0 1)} #58#return; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {1293#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {1293#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {1293#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1293#(<= ~counter~0 1)} is VALID [2022-04-08 04:37:09,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {1293#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1324#(<= |main_#t~post6| 1)} is VALID [2022-04-08 04:37:09,305 INFO L290 TraceCheckUtils]: 17: Hoare triple {1324#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-08 04:37:09,305 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:09,306 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:09,431 INFO L290 TraceCheckUtils]: 22: Hoare triple {1270#false} assume !false; {1270#false} is VALID [2022-04-08 04:37:09,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {1270#false} assume 0 == ~cond; {1270#false} is VALID [2022-04-08 04:37:09,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {1270#false} ~cond := #in~cond; {1270#false} is VALID [2022-04-08 04:37:09,431 INFO L272 TraceCheckUtils]: 19: Hoare triple {1270#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1270#false} is VALID [2022-04-08 04:37:09,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1270#false} is VALID [2022-04-08 04:37:09,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {1358#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1270#false} is VALID [2022-04-08 04:37:09,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {1362#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 100)} is VALID [2022-04-08 04:37:09,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {1362#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 100)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,434 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1269#true} {1362#(< ~counter~0 100)} #58#return; {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {1269#true} assume true; {1269#true} is VALID [2022-04-08 04:37:09,434 INFO L290 TraceCheckUtils]: 10: Hoare triple {1269#true} assume !(0 == ~cond); {1269#true} is VALID [2022-04-08 04:37:09,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {1269#true} ~cond := #in~cond; {1269#true} is VALID [2022-04-08 04:37:09,434 INFO L272 TraceCheckUtils]: 8: Hoare triple {1362#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1269#true} is VALID [2022-04-08 04:37:09,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {1362#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,435 INFO L290 TraceCheckUtils]: 6: Hoare triple {1393#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 100)} is VALID [2022-04-08 04:37:09,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {1393#(< ~counter~0 99)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1393#(< ~counter~0 99)} is VALID [2022-04-08 04:37:09,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {1393#(< ~counter~0 99)} call #t~ret9 := main(); {1393#(< ~counter~0 99)} is VALID [2022-04-08 04:37:09,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1393#(< ~counter~0 99)} {1269#true} #62#return; {1393#(< ~counter~0 99)} is VALID [2022-04-08 04:37:09,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {1393#(< ~counter~0 99)} assume true; {1393#(< ~counter~0 99)} is VALID [2022-04-08 04:37:09,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {1269#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1393#(< ~counter~0 99)} is VALID [2022-04-08 04:37:09,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {1269#true} call ULTIMATE.init(); {1269#true} is VALID [2022-04-08 04:37:09,438 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:37:09,440 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:09,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [556410463] [2022-04-08 04:37:09,440 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:09,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [665640847] [2022-04-08 04:37:09,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [665640847] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:09,440 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:09,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 04:37:09,441 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:09,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1997976168] [2022-04-08 04:37:09,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1997976168] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:09,441 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:09,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:37:09,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1514141410] [2022-04-08 04:37:09,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:09,442 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-08 04:37:09,443 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:09,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:09,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:09,460 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:37:09,460 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:09,461 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:37:09,461 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:37:09,461 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:09,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:09,543 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-08 04:37:09,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:37:09,544 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 23 [2022-04-08 04:37:09,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:09,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:09,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:37:09,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:09,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-08 04:37:09,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-08 04:37:09,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:09,583 INFO L225 Difference]: With dead ends: 54 [2022-04-08 04:37:09,583 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 04:37:09,583 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:37:09,586 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 3 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 14 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:09,587 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 66 Invalid, 14 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:37:09,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 04:37:09,619 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-08 04:37:09,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:09,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:09,620 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:09,620 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:09,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:09,624 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-08 04:37:09,624 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 04:37:09,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:09,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:09,625 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-08 04:37:09,625 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-04-08 04:37:09,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:09,627 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-08 04:37:09,627 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 04:37:09,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:09,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:09,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:09,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:09,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 35 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:09,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-08 04:37:09,631 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 23 [2022-04-08 04:37:09,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:09,632 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-08 04:37:09,632 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 04:37:09,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-08 04:37:09,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:09,683 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-08 04:37:09,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 04:37:09,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:09,684 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:09,710 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 04:37:09,907 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:09,907 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:09,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:09,908 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-08 04:37:09,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:09,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1871631334] [2022-04-08 04:37:09,980 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:09,980 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:09,980 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:09,980 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 2 times [2022-04-08 04:37:09,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:09,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1746933730] [2022-04-08 04:37:09,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:09,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:10,006 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:10,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1410368799] [2022-04-08 04:37:10,006 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:10,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:10,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:10,011 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:10,013 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 04:37:10,061 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:37:10,061 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:10,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 04:37:10,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:10,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:10,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-08 04:37:10,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1708#true} is VALID [2022-04-08 04:37:10,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 04:37:10,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-08 04:37:10,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-08 04:37:10,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:10,573 INFO L290 TraceCheckUtils]: 6: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:10,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:10,574 INFO L272 TraceCheckUtils]: 8: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-08 04:37:10,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-08 04:37:10,574 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-08 04:37:10,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 04:37:10,576 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1728#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1728#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:10,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {1728#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1753#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:10,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {1753#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-08 04:37:10,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {1757#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:37:10,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:37:10,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {1761#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:37:10,579 INFO L272 TraceCheckUtils]: 18: Hoare triple {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-08 04:37:10,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:10,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {1775#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:10,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:10,581 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1768#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #58#return; {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:37:10,582 INFO L290 TraceCheckUtils]: 23: Hoare triple {1786#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:37:10,584 INFO L290 TraceCheckUtils]: 24: Hoare triple {1790#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-08 04:37:10,585 INFO L272 TraceCheckUtils]: 25: Hoare triple {1794#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:10,586 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:10,586 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-08 04:37:10,586 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-08 04:37:10,586 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:37:10,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:11,425 INFO L290 TraceCheckUtils]: 28: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-08 04:37:11,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-08 04:37:11,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1802#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:11,427 INFO L272 TraceCheckUtils]: 25: Hoare triple {1818#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1798#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:11,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {1822#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1818#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:11,428 INFO L290 TraceCheckUtils]: 23: Hoare triple {1826#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1822#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:37:11,429 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} {1830#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #58#return; {1826#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:37:11,430 INFO L290 TraceCheckUtils]: 21: Hoare triple {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:11,430 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1779#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:11,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {1708#true} ~cond := #in~cond; {1840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:37:11,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {1830#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-08 04:37:11,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1830#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:37:11,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 04:37:11,437 INFO L290 TraceCheckUtils]: 15: Hoare triple {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1847#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 04:37:11,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1854#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-08 04:37:11,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {1708#true} assume !!(~x~0 <= ~X~0); {1858#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:37:11,441 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1708#true} {1708#true} #58#return; {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L290 TraceCheckUtils]: 10: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L272 TraceCheckUtils]: 8: Hoare triple {1708#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1708#true} is VALID [2022-04-08 04:37:11,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {1708#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret9 := main(); {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #62#return; {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1708#true} is VALID [2022-04-08 04:37:11,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-08 04:37:11,443 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:37:11,443 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:11,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1746933730] [2022-04-08 04:37:11,443 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:11,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1410368799] [2022-04-08 04:37:11,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1410368799] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:11,443 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:11,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-08 04:37:11,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:11,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1871631334] [2022-04-08 04:37:11,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1871631334] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:11,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:11,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:37:11,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [574127999] [2022-04-08 04:37:11,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:11,445 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-08 04:37:11,445 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:11,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:11,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:11,472 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:37:11,472 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:11,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:37:11,473 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:37:11,473 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:12,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:12,040 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-08 04:37:12,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:37:12,040 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 29 [2022-04-08 04:37:12,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:12,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:12,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-08 04:37:12,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:12,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2022-04-08 04:37:12,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2022-04-08 04:37:12,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:12,096 INFO L225 Difference]: With dead ends: 57 [2022-04-08 04:37:12,096 INFO L226 Difference]: Without dead ends: 49 [2022-04-08 04:37:12,097 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=115, Invalid=587, Unknown=0, NotChecked=0, Total=702 [2022-04-08 04:37:12,097 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 20 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 176 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 176 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:12,098 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 107 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 176 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:37:12,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-08 04:37:12,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 38. [2022-04-08 04:37:12,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:12,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:12,122 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:12,123 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:12,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:12,124 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 04:37:12,125 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 04:37:12,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:12,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:12,125 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-08 04:37:12,125 INFO L87 Difference]: Start difference. First operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 49 states. [2022-04-08 04:37:12,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:12,127 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 04:37:12,127 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 04:37:12,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:12,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:12,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:12,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:12,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:37:12,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 42 transitions. [2022-04-08 04:37:12,129 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 42 transitions. Word has length 29 [2022-04-08 04:37:12,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:12,129 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 42 transitions. [2022-04-08 04:37:12,129 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:12,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 42 transitions. [2022-04-08 04:37:12,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:12,174 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-08 04:37:12,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:37:12,174 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:12,175 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:12,195 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 04:37:12,387 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:12,387 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:12,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:12,388 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 3 times [2022-04-08 04:37:12,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:12,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718573134] [2022-04-08 04:37:12,447 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:12,447 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:12,447 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:12,447 INFO L85 PathProgramCache]: Analyzing trace with hash -1603460440, now seen corresponding path program 4 times [2022-04-08 04:37:12,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:12,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490193142] [2022-04-08 04:37:12,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:12,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:12,459 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:12,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [888901284] [2022-04-08 04:37:12,459 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:37:12,459 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:12,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:12,463 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:12,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 04:37:12,544 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:37:12,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:12,545 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:37:12,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:12,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:12,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-08 04:37:12,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2201#true} is VALID [2022-04-08 04:37:12,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 04:37:12,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-08 04:37:12,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-08 04:37:12,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,886 INFO L272 TraceCheckUtils]: 8: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-08 04:37:12,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-08 04:37:12,886 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-08 04:37:12,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 04:37:12,887 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {2221#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {2249#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,890 INFO L290 TraceCheckUtils]: 16: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,891 INFO L290 TraceCheckUtils]: 17: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,891 INFO L272 TraceCheckUtils]: 18: Hoare triple {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-08 04:37:12,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:12,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {2267#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:12,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:12,893 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2260#(and (= (+ (- 1) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #58#return; {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-08 04:37:12,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {2253#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {2284#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:37:12,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {2288#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0))} is VALID [2022-04-08 04:37:12,898 INFO L272 TraceCheckUtils]: 28: Hoare triple {2295#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:12,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:12,901 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-08 04:37:12,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-08 04:37:12,901 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:37:12,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:15,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {2202#false} assume !false; {2202#false} is VALID [2022-04-08 04:37:15,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {2303#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2202#false} is VALID [2022-04-08 04:37:15,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2303#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:15,402 INFO L272 TraceCheckUtils]: 28: Hoare triple {2319#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2299#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:15,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2319#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:37:15,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:15,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {2330#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:15,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2330#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:37:15,489 INFO L290 TraceCheckUtils]: 23: Hoare triple {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:15,490 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} {2340#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #58#return; {2323#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:37:15,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:15,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2271#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:15,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {2201#true} ~cond := #in~cond; {2350#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:37:15,491 INFO L272 TraceCheckUtils]: 18: Hoare triple {2340#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-08 04:37:15,492 INFO L290 TraceCheckUtils]: 17: Hoare triple {2201#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2340#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:37:15,492 INFO L290 TraceCheckUtils]: 16: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {2201#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {2201#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {2201#true} assume !!(~x~0 <= ~X~0); {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2201#true} {2201#true} #58#return; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 10: Hoare triple {2201#true} assume !(0 == ~cond); {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {2201#true} ~cond := #in~cond; {2201#true} is VALID [2022-04-08 04:37:15,493 INFO L272 TraceCheckUtils]: 8: Hoare triple {2201#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {2201#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {2201#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L290 TraceCheckUtils]: 5: Hoare triple {2201#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {2201#true} call #t~ret9 := main(); {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2201#true} {2201#true} #62#return; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {2201#true} assume true; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L290 TraceCheckUtils]: 1: Hoare triple {2201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2201#true} is VALID [2022-04-08 04:37:15,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {2201#true} call ULTIMATE.init(); {2201#true} is VALID [2022-04-08 04:37:15,495 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 04:37:15,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:15,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1490193142] [2022-04-08 04:37:15,495 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:15,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [888901284] [2022-04-08 04:37:15,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [888901284] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:15,495 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:15,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:37:15,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:15,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718573134] [2022-04-08 04:37:15,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718573134] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:15,496 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:15,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:37:15,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [15628909] [2022-04-08 04:37:15,496 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:15,497 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:37:15,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:15,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:15,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:15,534 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:37:15,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:15,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:37:15,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:37:15,535 INFO L87 Difference]: Start difference. First operand 38 states and 42 transitions. Second operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:16,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:16,332 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-08 04:37:16,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:37:16,333 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:37:16,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:16,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:16,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-08 04:37:16,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:16,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-08 04:37:16,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-08 04:37:16,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:16,396 INFO L225 Difference]: With dead ends: 63 [2022-04-08 04:37:16,396 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 04:37:16,397 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 44 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:37:16,397 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 18 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 318 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 324 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 318 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:16,398 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 151 Invalid, 324 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 318 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:37:16,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 04:37:16,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 48. [2022-04-08 04:37:16,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:16,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:16,437 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:16,437 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:16,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:16,439 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-08 04:37:16,439 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 04:37:16,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:16,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:16,440 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-08 04:37:16,440 INFO L87 Difference]: Start difference. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-04-08 04:37:16,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:16,442 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-04-08 04:37:16,442 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 04:37:16,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:16,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:16,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:16,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:16,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:37:16,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-04-08 04:37:16,444 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 32 [2022-04-08 04:37:16,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:16,448 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-04-08 04:37:16,448 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 12 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:37:16,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 53 transitions. [2022-04-08 04:37:16,522 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:16,522 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-08 04:37:16,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:37:16,523 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:16,523 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:16,548 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-08 04:37:16,723 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:16,724 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:16,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:16,724 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 1 times [2022-04-08 04:37:16,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:16,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1340501059] [2022-04-08 04:37:16,828 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:16,828 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:37:16,828 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:16,828 INFO L85 PathProgramCache]: Analyzing trace with hash 1882160230, now seen corresponding path program 2 times [2022-04-08 04:37:16,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:16,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2096484627] [2022-04-08 04:37:16,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:16,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:16,840 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:16,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [717544885] [2022-04-08 04:37:16,840 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:37:16,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:16,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:16,841 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:16,842 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 04:37:16,886 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:37:16,887 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:16,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 04:37:16,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:16,901 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:34,144 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:37:38,211 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:37:44,249 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:38:41,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-08 04:38:41,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2754#true} is VALID [2022-04-08 04:38:41,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 04:38:41,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-08 04:38:41,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-08 04:38:41,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,965 INFO L272 TraceCheckUtils]: 8: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-08 04:38:41,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:41,965 INFO L290 TraceCheckUtils]: 10: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:41,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:41,966 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {2774#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {2804#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,969 INFO L290 TraceCheckUtils]: 16: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {2808#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:38:41,969 INFO L272 TraceCheckUtils]: 18: Hoare triple {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-08 04:38:41,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:41,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {2787#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:41,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:41,973 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2815#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:38:41,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {2831#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:38:41,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {2838#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:38:41,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:38:41,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {2842#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= (* (* main_~X~0 main_~y~0) 2) (+ main_~X~0 (* 2 (* main_~Y~0 main_~x~0)))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-08 04:38:42,646 INFO L272 TraceCheckUtils]: 28: Hoare triple {2849#(and (= (+ (* (* main_~Y~0 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) 2) (* main_~X~0 2)) (+ (* main_~Y~0 2) (* main_~X~0 2))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~X~0 (* 2 (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0))) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2853#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} is VALID [2022-04-08 04:38:42,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {2853#(exists ((v_main_~Y~0_BEFORE_CALL_26 Int) (aux_div_v_main_~v~0_BEFORE_CALL_25_90 Int) (aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45 Int)) (and (= (mod (+ (div (+ (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) (* (- 2) aux_div_v_main_~v~0_BEFORE_CALL_25_90)) (- 2)) (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) 0) (= (* 2 (* (div (+ aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26)) (* 4 v_main_~Y~0_BEFORE_CALL_26)) (< (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) 2) (< (* 2 v_main_~Y~0_BEFORE_CALL_26) (* (* (div (+ (* (- 1) aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45) aux_div_v_main_~v~0_BEFORE_CALL_25_90 (* (- 1) v_main_~Y~0_BEFORE_CALL_26)) v_main_~Y~0_BEFORE_CALL_26) v_main_~Y~0_BEFORE_CALL_26) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 (* 2 aux_div_aux_mod_v_main_~v~0_BEFORE_CALL_25_90_45))))} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:42,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-08 04:38:42,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-08 04:38:42,648 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:38:42,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:38:45,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {2755#false} assume !false; {2755#false} is VALID [2022-04-08 04:38:45,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {2857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2755#false} is VALID [2022-04-08 04:38:45,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:45,078 INFO L272 TraceCheckUtils]: 28: Hoare triple {2874#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:38:45,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2874#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:38:45,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:38:45,081 INFO L290 TraceCheckUtils]: 25: Hoare triple {2885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2878#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:38:45,083 INFO L290 TraceCheckUtils]: 24: Hoare triple {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2885#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:38:45,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:38:45,085 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} {2896#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #58#return; {2889#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:38:45,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:45,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {2906#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2791#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:45,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {2754#true} ~cond := #in~cond; {2906#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:38:45,087 INFO L272 TraceCheckUtils]: 18: Hoare triple {2896#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 17: Hoare triple {2754#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2896#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {2754#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 14: Hoare triple {2754#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {2754#true} assume !!(~x~0 <= ~X~0); {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2754#true} {2754#true} #58#return; {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 04:38:45,088 INFO L290 TraceCheckUtils]: 10: Hoare triple {2754#true} assume !(0 == ~cond); {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {2754#true} ~cond := #in~cond; {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L272 TraceCheckUtils]: 8: Hoare triple {2754#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L290 TraceCheckUtils]: 7: Hoare triple {2754#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L290 TraceCheckUtils]: 6: Hoare triple {2754#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {2754#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {2754#true} call #t~ret9 := main(); {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2754#true} {2754#true} #62#return; {2754#true} is VALID [2022-04-08 04:38:45,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {2754#true} assume true; {2754#true} is VALID [2022-04-08 04:38:45,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {2754#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2754#true} is VALID [2022-04-08 04:38:45,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {2754#true} call ULTIMATE.init(); {2754#true} is VALID [2022-04-08 04:38:45,090 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 04:38:45,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:38:45,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2096484627] [2022-04-08 04:38:45,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:38:45,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [717544885] [2022-04-08 04:38:45,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [717544885] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:38:45,091 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:38:45,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-08 04:38:45,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:38:45,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1340501059] [2022-04-08 04:38:45,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1340501059] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:38:45,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:38:45,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:38:45,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [876506870] [2022-04-08 04:38:45,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:38:45,092 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:38:45,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:38:45,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:38:45,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:38:45,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:38:45,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:38:45,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:38:45,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=350, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:38:45,180 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:38:47,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:47,277 INFO L93 Difference]: Finished difference Result 74 states and 86 transitions. [2022-04-08 04:38:47,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:38:47,277 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:38:47,277 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:38:47,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:38:47,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 04:38:47,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:38:47,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 04:38:47,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-08 04:38:48,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:38:48,535 INFO L225 Difference]: With dead ends: 74 [2022-04-08 04:38:48,535 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 04:38:48,536 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=101, Invalid=499, Unknown=0, NotChecked=0, Total=600 [2022-04-08 04:38:48,536 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 31 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:38:48,537 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 152 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 216 Invalid, 0 Unknown, 31 Unchecked, 0.6s Time] [2022-04-08 04:38:48,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 04:38:48,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 58. [2022-04-08 04:38:48,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:38:48,590 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:38:48,590 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:38:48,591 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:38:48,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:48,592 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-08 04:38:48,593 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-08 04:38:48,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:38:48,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:38:48,593 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-08 04:38:48,593 INFO L87 Difference]: Start difference. First operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 60 states. [2022-04-08 04:38:48,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:48,595 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-08 04:38:48,595 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 66 transitions. [2022-04-08 04:38:48,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:38:48,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:38:48,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:38:48,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:38:48,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 44 states have internal predecessors, (50), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:38:48,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2022-04-08 04:38:48,597 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 64 transitions. Word has length 32 [2022-04-08 04:38:48,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:38:48,598 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 64 transitions. [2022-04-08 04:38:48,598 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 13 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:38:48,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 64 transitions. [2022-04-08 04:38:50,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:38:50,683 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-04-08 04:38:50,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:38:50,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:38:50,684 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:38:50,700 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 04:38:50,884 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:38:50,884 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:38:50,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:38:50,885 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 3 times [2022-04-08 04:38:50,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:38:50,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1490851946] [2022-04-08 04:38:51,022 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:38:51,022 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:38:51,022 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:38:51,022 INFO L85 PathProgramCache]: Analyzing trace with hash 697362150, now seen corresponding path program 4 times [2022-04-08 04:38:51,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:38:51,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1899798962] [2022-04-08 04:38:51,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:38:51,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:38:51,046 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:38:51,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1450169903] [2022-04-08 04:38:51,046 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:38:51,047 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:38:51,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:38:51,060 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:38:51,061 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 04:38:51,147 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:38:51,147 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:38:51,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 04:38:51,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:38:51,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:38:59,452 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:39:05,398 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-08 04:39:05,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3360#true} is VALID [2022-04-08 04:39:05,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 04:39:05,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-08 04:39:05,399 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-08 04:39:05,399 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:39:05,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:39:05,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:39:05,401 INFO L272 TraceCheckUtils]: 8: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-08 04:39:05,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-08 04:39:05,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-08 04:39:05,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 04:39:05,402 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:39:05,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:39:05,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {3380#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3408#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:05,404 INFO L290 TraceCheckUtils]: 15: Hoare triple {3408#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3412#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:05,404 INFO L290 TraceCheckUtils]: 16: Hoare triple {3412#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3412#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:05,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {3412#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3419#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:39:05,405 INFO L272 TraceCheckUtils]: 18: Hoare triple {3419#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-08 04:39:05,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:05,406 INFO L290 TraceCheckUtils]: 20: Hoare triple {3426#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:05,406 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:05,408 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3419#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {3437#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:05,409 INFO L290 TraceCheckUtils]: 23: Hoare triple {3437#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {3437#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:05,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {3437#(and (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3444#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-08 04:39:05,412 INFO L290 TraceCheckUtils]: 25: Hoare triple {3444#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3448#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:05,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {3448#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3448#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:05,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {3448#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3455#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-08 04:39:05,417 INFO L272 TraceCheckUtils]: 28: Hoare triple {3455#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (* main_~Y~0 (div (* main_~Y~0 2) main_~Y~0)) main_~yx~0) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:05,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:05,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-08 04:39:05,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-08 04:39:05,418 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:39:05,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:39:08,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {3361#false} assume !false; {3361#false} is VALID [2022-04-08 04:39:08,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {3463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3361#false} is VALID [2022-04-08 04:39:08,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:08,865 INFO L272 TraceCheckUtils]: 28: Hoare triple {3479#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:08,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3479#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:39:08,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:39:08,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {3490#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3483#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:39:08,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3490#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:39:08,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:39:08,872 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} {3501#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #58#return; {3494#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:39:08,872 INFO L290 TraceCheckUtils]: 21: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:08,873 INFO L290 TraceCheckUtils]: 20: Hoare triple {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:08,873 INFO L290 TraceCheckUtils]: 19: Hoare triple {3360#true} ~cond := #in~cond; {3511#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:39:08,873 INFO L272 TraceCheckUtils]: 18: Hoare triple {3501#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 17: Hoare triple {3360#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3501#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 15: Hoare triple {3360#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {3360#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 13: Hoare triple {3360#true} assume !!(~x~0 <= ~X~0); {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3360#true} {3360#true} #58#return; {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 11: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#true} assume !(0 == ~cond); {3360#true} is VALID [2022-04-08 04:39:08,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#true} ~cond := #in~cond; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L272 TraceCheckUtils]: 8: Hoare triple {3360#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {3360#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L290 TraceCheckUtils]: 6: Hoare triple {3360#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L290 TraceCheckUtils]: 5: Hoare triple {3360#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L272 TraceCheckUtils]: 4: Hoare triple {3360#true} call #t~ret9 := main(); {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3360#true} {3360#true} #62#return; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {3360#true} assume true; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {3360#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L272 TraceCheckUtils]: 0: Hoare triple {3360#true} call ULTIMATE.init(); {3360#true} is VALID [2022-04-08 04:39:08,875 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 04:39:08,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:39:08,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1899798962] [2022-04-08 04:39:08,876 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:39:08,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1450169903] [2022-04-08 04:39:08,876 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1450169903] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:39:08,876 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:39:08,876 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 04:39:08,876 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:39:08,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1490851946] [2022-04-08 04:39:08,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1490851946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:39:08,877 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:39:08,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:39:08,877 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767931237] [2022-04-08 04:39:08,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:39:08,878 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:39:08,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:39:08,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:08,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:08,921 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:39:08,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:08,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:39:08,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:39:08,922 INFO L87 Difference]: Start difference. First operand 58 states and 64 transitions. Second operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:09,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:09,930 INFO L93 Difference]: Finished difference Result 94 states and 108 transitions. [2022-04-08 04:39:09,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:39:09,931 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:39:09,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:39:09,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:09,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 04:39:09,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:09,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 04:39:09,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-08 04:39:10,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:10,014 INFO L225 Difference]: With dead ends: 94 [2022-04-08 04:39:10,014 INFO L226 Difference]: Without dead ends: 80 [2022-04-08 04:39:10,015 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=93, Invalid=459, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:39:10,015 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:39:10,015 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 166 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:39:10,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-08 04:39:10,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-04-08 04:39:10,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:39:10,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:10,091 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:10,091 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:10,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:10,111 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-08 04:39:10,111 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-08 04:39:10,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:10,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:10,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-08 04:39:10,113 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 80 states. [2022-04-08 04:39:10,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:10,117 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2022-04-08 04:39:10,117 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2022-04-08 04:39:10,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:10,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:10,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:39:10,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:39:10,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.152542372881356) internal successors, (68), 60 states have internal predecessors, (68), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:10,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 86 transitions. [2022-04-08 04:39:10,121 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 86 transitions. Word has length 32 [2022-04-08 04:39:10,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:39:10,121 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 86 transitions. [2022-04-08 04:39:10,124 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.0) internal successors, (24), 13 states have internal predecessors, (24), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:10,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 86 transitions. [2022-04-08 04:39:12,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 85 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:12,261 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2022-04-08 04:39:12,261 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:39:12,262 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:39:12,262 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:39:12,278 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 04:39:12,462 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 04:39:12,462 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:39:12,463 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:39:12,463 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 3 times [2022-04-08 04:39:12,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:12,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1128797303] [2022-04-08 04:39:12,504 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:39:12,504 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:39:12,505 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:39:12,505 INFO L85 PathProgramCache]: Analyzing trace with hash -111984476, now seen corresponding path program 4 times [2022-04-08 04:39:12,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:39:12,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [943667800] [2022-04-08 04:39:12,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:39:12,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:39:12,522 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:39:12,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1694873038] [2022-04-08 04:39:12,522 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:39:12,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:39:12,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:39:12,527 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:39:12,528 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 04:39:12,579 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:39:12,579 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:39:12,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:39:12,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:39:12,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:39:12,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-08 04:39:12,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4083#true} is VALID [2022-04-08 04:39:12,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:12,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-08 04:39:12,960 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-08 04:39:12,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:12,961 INFO L290 TraceCheckUtils]: 6: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:12,962 INFO L290 TraceCheckUtils]: 7: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:12,962 INFO L272 TraceCheckUtils]: 8: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4083#true} is VALID [2022-04-08 04:39:12,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 04:39:12,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 04:39:12,962 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:12,963 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:12,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:12,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {4103#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4131#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {4131#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,965 INFO L290 TraceCheckUtils]: 17: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,965 INFO L272 TraceCheckUtils]: 18: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4083#true} is VALID [2022-04-08 04:39:12,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 04:39:12,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 04:39:12,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:12,967 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #58#return; {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,967 INFO L290 TraceCheckUtils]: 23: Hoare triple {4135#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4160#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:39:12,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {4160#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4164#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} is VALID [2022-04-08 04:39:12,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {4164#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4168#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-08 04:39:12,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {4168#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4168#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-08 04:39:12,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {4168#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 1 main_~X~0))} is VALID [2022-04-08 04:39:12,970 INFO L272 TraceCheckUtils]: 28: Hoare triple {4175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:12,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:12,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-08 04:39:12,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-08 04:39:12,971 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:39:12,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:39:13,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {4084#false} assume !false; {4084#false} is VALID [2022-04-08 04:39:13,366 INFO L290 TraceCheckUtils]: 30: Hoare triple {4183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4084#false} is VALID [2022-04-08 04:39:13,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:13,367 INFO L272 TraceCheckUtils]: 28: Hoare triple {4199#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:13,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4199#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:39:13,368 INFO L290 TraceCheckUtils]: 26: Hoare triple {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:39:13,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {4210#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4203#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:39:13,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {4214#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4210#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:39:13,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4214#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:39:13,372 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4083#true} {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #58#return; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:39:13,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:13,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 04:39:13,373 INFO L290 TraceCheckUtils]: 19: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 04:39:13,373 INFO L272 TraceCheckUtils]: 18: Hoare triple {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4083#true} is VALID [2022-04-08 04:39:13,373 INFO L290 TraceCheckUtils]: 17: Hoare triple {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:39:13,374 INFO L290 TraceCheckUtils]: 16: Hoare triple {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:39:13,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {4243#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4218#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:39:13,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4243#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-08 04:39:13,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:13,382 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4083#true} {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #58#return; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:13,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:13,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {4083#true} assume !(0 == ~cond); {4083#true} is VALID [2022-04-08 04:39:13,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {4083#true} ~cond := #in~cond; {4083#true} is VALID [2022-04-08 04:39:13,382 INFO L272 TraceCheckUtils]: 8: Hoare triple {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4083#true} is VALID [2022-04-08 04:39:13,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:13,383 INFO L290 TraceCheckUtils]: 6: Hoare triple {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:13,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {4083#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4247#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-08 04:39:13,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {4083#true} call #t~ret9 := main(); {4083#true} is VALID [2022-04-08 04:39:13,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4083#true} {4083#true} #62#return; {4083#true} is VALID [2022-04-08 04:39:13,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {4083#true} assume true; {4083#true} is VALID [2022-04-08 04:39:13,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {4083#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4083#true} is VALID [2022-04-08 04:39:13,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {4083#true} call ULTIMATE.init(); {4083#true} is VALID [2022-04-08 04:39:13,384 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:39:13,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:39:13,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [943667800] [2022-04-08 04:39:13,385 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:39:13,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1694873038] [2022-04-08 04:39:13,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1694873038] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:39:13,385 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:39:13,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-08 04:39:13,385 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:39:13,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1128797303] [2022-04-08 04:39:13,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1128797303] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:39:13,385 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:39:13,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:39:13,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1256966222] [2022-04-08 04:39:13,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:39:13,386 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:39:13,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:39:13,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:13,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:13,410 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:39:13,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:13,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:39:13,410 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:39:13,411 INFO L87 Difference]: Start difference. First operand 78 states and 86 transitions. Second operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:14,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:14,143 INFO L93 Difference]: Finished difference Result 93 states and 104 transitions. [2022-04-08 04:39:14,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:39:14,143 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 32 [2022-04-08 04:39:14,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:39:14,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:14,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-08 04:39:14,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:14,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-04-08 04:39:14,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-04-08 04:39:14,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:14,205 INFO L225 Difference]: With dead ends: 93 [2022-04-08 04:39:14,205 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 04:39:14,205 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:39:14,206 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-08 04:39:14,206 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-08 04:39:14,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 04:39:14,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 86. [2022-04-08 04:39:14,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:39:14,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:14,296 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:14,296 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:14,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:14,298 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-08 04:39:14,298 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-08 04:39:14,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:14,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:14,298 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-08 04:39:14,300 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-08 04:39:14,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:14,302 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-04-08 04:39:14,302 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-04-08 04:39:14,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:14,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:14,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:39:14,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:39:14,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1538461538461537) internal successors, (75), 67 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:14,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-04-08 04:39:14,305 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 32 [2022-04-08 04:39:14,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:39:14,305 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-04-08 04:39:14,305 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 4 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:14,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 95 transitions. [2022-04-08 04:39:16,427 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 94 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:16,427 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-04-08 04:39:16,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 04:39:16,428 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:39:16,428 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:39:16,447 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 04:39:16,632 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 04:39:16,632 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:39:16,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:39:16,633 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 1 times [2022-04-08 04:39:16,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:16,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1470611768] [2022-04-08 04:39:16,727 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:39:16,727 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:39:16,727 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:39:16,727 INFO L85 PathProgramCache]: Analyzing trace with hash -1857919347, now seen corresponding path program 2 times [2022-04-08 04:39:16,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:39:16,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469373998] [2022-04-08 04:39:16,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:39:16,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:39:16,747 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:39:16,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [927530127] [2022-04-08 04:39:16,747 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:39:16,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:39:16,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:39:16,755 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:39:16,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 04:39:16,814 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:39:16,815 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:39:16,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 04:39:16,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:39:16,828 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:39:16,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-08 04:39:16,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 04:39:16,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {4844#(<= ~counter~0 0)} assume true; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 04:39:16,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4844#(<= ~counter~0 0)} {4836#true} #62#return; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 04:39:16,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {4844#(<= ~counter~0 0)} call #t~ret9 := main(); {4844#(<= ~counter~0 0)} is VALID [2022-04-08 04:39:16,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {4844#(<= ~counter~0 0)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4844#(<= ~counter~0 0)} is VALID [2022-04-08 04:39:16,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {4844#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {4860#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,981 INFO L272 TraceCheckUtils]: 8: Hoare triple {4860#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#(<= ~counter~0 1)} ~cond := #in~cond; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,982 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#(<= ~counter~0 1)} assume !(0 == ~cond); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {4860#(<= ~counter~0 1)} assume true; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,982 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4860#(<= ~counter~0 1)} {4860#(<= ~counter~0 1)} #58#return; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {4860#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {4860#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {4860#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4860#(<= ~counter~0 1)} is VALID [2022-04-08 04:39:16,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {4860#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,985 INFO L290 TraceCheckUtils]: 17: Hoare triple {4891#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,986 INFO L272 TraceCheckUtils]: 18: Hoare triple {4891#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {4891#(<= ~counter~0 2)} ~cond := #in~cond; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {4891#(<= ~counter~0 2)} assume !(0 == ~cond); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {4891#(<= ~counter~0 2)} assume true; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,988 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4891#(<= ~counter~0 2)} {4891#(<= ~counter~0 2)} #58#return; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,988 INFO L290 TraceCheckUtils]: 23: Hoare triple {4891#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {4891#(<= ~counter~0 2)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {4891#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4891#(<= ~counter~0 2)} is VALID [2022-04-08 04:39:16,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {4891#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4922#(<= |main_#t~post6| 2)} is VALID [2022-04-08 04:39:16,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {4922#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-08 04:39:16,990 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-08 04:39:16,990 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4837#false} is VALID [2022-04-08 04:39:16,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-08 04:39:16,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-08 04:39:16,990 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-08 04:39:16,991 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:39:16,991 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:39:17,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {4837#false} assume !false; {4837#false} is VALID [2022-04-08 04:39:17,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {4837#false} assume 0 == ~cond; {4837#false} is VALID [2022-04-08 04:39:17,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {4837#false} ~cond := #in~cond; {4837#false} is VALID [2022-04-08 04:39:17,178 INFO L272 TraceCheckUtils]: 29: Hoare triple {4837#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4837#false} is VALID [2022-04-08 04:39:17,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {4837#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4837#false} is VALID [2022-04-08 04:39:17,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {4837#false} is VALID [2022-04-08 04:39:17,179 INFO L290 TraceCheckUtils]: 26: Hoare triple {4960#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4956#(< |main_#t~post6| 100)} is VALID [2022-04-08 04:39:17,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {4960#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {4960#(< ~counter~0 100)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {4960#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,181 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4836#true} {4960#(< ~counter~0 100)} #58#return; {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,181 INFO L290 TraceCheckUtils]: 21: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-08 04:39:17,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-08 04:39:17,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-08 04:39:17,181 INFO L272 TraceCheckUtils]: 18: Hoare triple {4960#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-08 04:39:17,182 INFO L290 TraceCheckUtils]: 17: Hoare triple {4960#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {4991#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4960#(< ~counter~0 100)} is VALID [2022-04-08 04:39:17,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {4991#(< ~counter~0 99)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {4991#(< ~counter~0 99)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {4991#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,185 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4836#true} {4991#(< ~counter~0 99)} #58#return; {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {4836#true} assume true; {4836#true} is VALID [2022-04-08 04:39:17,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {4836#true} assume !(0 == ~cond); {4836#true} is VALID [2022-04-08 04:39:17,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {4836#true} ~cond := #in~cond; {4836#true} is VALID [2022-04-08 04:39:17,185 INFO L272 TraceCheckUtils]: 8: Hoare triple {4991#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4836#true} is VALID [2022-04-08 04:39:17,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {4991#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {5022#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4991#(< ~counter~0 99)} is VALID [2022-04-08 04:39:17,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {5022#(< ~counter~0 98)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5022#(< ~counter~0 98)} is VALID [2022-04-08 04:39:17,187 INFO L272 TraceCheckUtils]: 4: Hoare triple {5022#(< ~counter~0 98)} call #t~ret9 := main(); {5022#(< ~counter~0 98)} is VALID [2022-04-08 04:39:17,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5022#(< ~counter~0 98)} {4836#true} #62#return; {5022#(< ~counter~0 98)} is VALID [2022-04-08 04:39:17,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {5022#(< ~counter~0 98)} assume true; {5022#(< ~counter~0 98)} is VALID [2022-04-08 04:39:17,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {4836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5022#(< ~counter~0 98)} is VALID [2022-04-08 04:39:17,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {4836#true} call ULTIMATE.init(); {4836#true} is VALID [2022-04-08 04:39:17,189 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:39:17,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:39:17,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469373998] [2022-04-08 04:39:17,189 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:39:17,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [927530127] [2022-04-08 04:39:17,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [927530127] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:39:17,189 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:39:17,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 04:39:17,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:39:17,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1470611768] [2022-04-08 04:39:17,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1470611768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:39:17,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:39:17,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:39:17,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2147194890] [2022-04-08 04:39:17,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:39:17,190 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-08 04:39:17,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:39:17,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:17,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:17,222 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:39:17,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:17,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:39:17,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:39:17,223 INFO L87 Difference]: Start difference. First operand 86 states and 95 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:17,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:17,416 INFO L93 Difference]: Finished difference Result 94 states and 102 transitions. [2022-04-08 04:39:17,416 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:39:17,416 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-08 04:39:17,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:39:17,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:17,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-08 04:39:17,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:17,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-08 04:39:17,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-08 04:39:17,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:17,460 INFO L225 Difference]: With dead ends: 94 [2022-04-08 04:39:17,460 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 04:39:17,461 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:39:17,461 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:39:17,461 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 75 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:39:17,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 04:39:17,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2022-04-08 04:39:17,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:39:17,543 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:17,543 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:17,544 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:17,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:17,545 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-08 04:39:17,545 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 04:39:17,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:17,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:17,546 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-08 04:39:17,546 INFO L87 Difference]: Start difference. First operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 86 states. [2022-04-08 04:39:17,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:17,548 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2022-04-08 04:39:17,548 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 04:39:17,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:17,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:17,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:39:17,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:39:17,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 65 states have (on average 1.1076923076923078) internal successors, (72), 67 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:39:17,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 92 transitions. [2022-04-08 04:39:17,550 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 92 transitions. Word has length 33 [2022-04-08 04:39:17,550 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:39:17,550 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 92 transitions. [2022-04-08 04:39:17,550 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:39:17,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 92 transitions. [2022-04-08 04:39:17,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:17,686 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 92 transitions. [2022-04-08 04:39:17,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 04:39:17,687 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:39:17,687 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:39:17,703 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 04:39:17,891 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 04:39:17,892 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:39:17,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:39:17,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 3 times [2022-04-08 04:39:17,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:17,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [60458631] [2022-04-08 04:39:17,932 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 3 HavocedVariables, 6 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:39:17,932 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:39:17,932 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:39:17,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1589915704, now seen corresponding path program 4 times [2022-04-08 04:39:17,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:39:17,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132102623] [2022-04-08 04:39:17,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:39:17,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:39:17,947 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:39:17,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1594176113] [2022-04-08 04:39:17,948 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:39:17,948 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:39:17,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:39:17,949 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:39:17,950 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 04:39:17,997 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:39:17,998 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:39:17,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 04:39:18,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:39:18,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:39:18,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-08 04:39:18,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5579#true} is VALID [2022-04-08 04:39:18,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:18,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-08 04:39:18,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-08 04:39:18,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:18,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:18,466 INFO L290 TraceCheckUtils]: 7: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:18,466 INFO L272 TraceCheckUtils]: 8: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:18,466 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 04:39:18,466 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 04:39:18,466 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:18,466 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5599#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:18,467 INFO L290 TraceCheckUtils]: 13: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5599#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-08 04:39:18,467 INFO L290 TraceCheckUtils]: 14: Hoare triple {5599#(and (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {5627#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,468 INFO L290 TraceCheckUtils]: 17: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,468 INFO L272 TraceCheckUtils]: 18: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:18,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 04:39:18,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 04:39:18,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:18,472 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} #58#return; {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {5631#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0))} assume !!(~x~0 <= ~X~0); {5656#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {5656#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5660#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} is VALID [2022-04-08 04:39:18,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {5660#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:39:18,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:39:18,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {5664#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5671#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:39:18,475 INFO L272 TraceCheckUtils]: 28: Hoare triple {5671#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:18,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:18,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {5678#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:18,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:18,477 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5671#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #58#return; {5689#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:39:18,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {5689#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5693#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:39:18,479 INFO L290 TraceCheckUtils]: 34: Hoare triple {5693#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5697#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-08 04:39:18,480 INFO L272 TraceCheckUtils]: 35: Hoare triple {5697#(and (= (+ (- 2) main_~y~0) 0) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:18,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:18,481 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-08 04:39:18,481 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-08 04:39:18,482 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 11 proven. 15 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:39:18,482 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:39:19,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2022-04-08 04:39:19,128 INFO L290 TraceCheckUtils]: 37: Hoare triple {5705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5580#false} is VALID [2022-04-08 04:39:19,129 INFO L290 TraceCheckUtils]: 36: Hoare triple {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:39:19,129 INFO L272 TraceCheckUtils]: 35: Hoare triple {5721#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:39:19,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {5725#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5721#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:39:19,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {5729#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5725#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:39:19,132 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} {5733#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #58#return; {5729#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:39:19,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:19,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5682#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:39:19,133 INFO L290 TraceCheckUtils]: 29: Hoare triple {5579#true} ~cond := #in~cond; {5743#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:39:19,133 INFO L272 TraceCheckUtils]: 28: Hoare triple {5733#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:19,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5733#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:39:19,134 INFO L290 TraceCheckUtils]: 26: Hoare triple {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 04:39:19,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {5757#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5750#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-08 04:39:19,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {5761#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5757#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 23: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5761#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:39:19,139 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 21: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 20: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 19: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L272 TraceCheckUtils]: 18: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 17: Hoare triple {5579#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-08 04:39:19,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {5579#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {5579#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {5579#true} assume !!(~x~0 <= ~X~0); {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5579#true} {5579#true} #58#return; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 11: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 10: Hoare triple {5579#true} assume !(0 == ~cond); {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {5579#true} ~cond := #in~cond; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L272 TraceCheckUtils]: 8: Hoare triple {5579#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {5579#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {5579#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {5579#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret9 := main(); {5579#true} is VALID [2022-04-08 04:39:19,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #62#return; {5579#true} is VALID [2022-04-08 04:39:19,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2022-04-08 04:39:19,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {5579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5579#true} is VALID [2022-04-08 04:39:19,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2022-04-08 04:39:19,141 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 21 proven. 1 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 04:39:19,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:39:19,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132102623] [2022-04-08 04:39:19,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:39:19,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1594176113] [2022-04-08 04:39:19,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1594176113] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:39:19,142 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:39:19,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-08 04:39:19,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:39:19,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [60458631] [2022-04-08 04:39:19,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [60458631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:39:19,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:39:19,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 04:39:19,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1158646083] [2022-04-08 04:39:19,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:39:19,143 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-08 04:39:19,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:39:19,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:39:19,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:19,172 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 04:39:19,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:19,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 04:39:19,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:39:19,172 INFO L87 Difference]: Start difference. First operand 86 states and 92 transitions. Second operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:39:20,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:20,065 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 04:39:20,065 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 04:39:20,065 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 39 [2022-04-08 04:39:20,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:39:20,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:39:20,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-08 04:39:20,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:39:20,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-08 04:39:20,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-08 04:39:20,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:20,113 INFO L225 Difference]: With dead ends: 97 [2022-04-08 04:39:20,113 INFO L226 Difference]: Without dead ends: 89 [2022-04-08 04:39:20,113 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-08 04:39:20,114 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 20 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 313 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:39:20,114 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 170 Invalid, 313 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:39:20,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-08 04:39:20,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-08 04:39:20,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:39:20,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:20,247 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:20,247 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:20,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:20,248 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-08 04:39:20,249 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-08 04:39:20,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:20,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:20,249 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-08 04:39:20,249 INFO L87 Difference]: Start difference. First operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 89 states. [2022-04-08 04:39:20,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:20,251 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2022-04-08 04:39:20,251 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 96 transitions. [2022-04-08 04:39:20,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:20,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:20,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:39:20,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:39:20,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:39:20,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-08 04:39:20,253 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 39 [2022-04-08 04:39:20,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:39:20,253 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-08 04:39:20,253 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:39:20,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-08 04:39:20,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:20,380 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-08 04:39:20,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 04:39:20,382 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:39:20,382 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:39:20,402 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 04:39:20,587 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 04:39:20,587 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:39:20,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:39:20,588 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 5 times [2022-04-08 04:39:20,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:20,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1112014706] [2022-04-08 04:39:20,644 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:39:20,644 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:39:20,644 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:39:20,645 INFO L85 PathProgramCache]: Analyzing trace with hash -108827544, now seen corresponding path program 6 times [2022-04-08 04:39:20,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:39:20,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [465756972] [2022-04-08 04:39:20,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:39:20,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:39:20,664 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:39:20,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [269407520] [2022-04-08 04:39:20,665 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:39:20,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:39:20,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:39:20,669 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:39:20,670 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 04:39:20,715 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:39:20,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:39:20,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 04:39:20,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:39:20,729 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:39:42,756 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:40:21,378 WARN L232 SmtUtils]: Spent 5.40s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L1067] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-08 04:40:21,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-08 04:40:21,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6374#true} is VALID [2022-04-08 04:40:21,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:21,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-08 04:40:21,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 6: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,489 INFO L272 TraceCheckUtils]: 8: Hoare triple {6394#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 04:40:21,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:21,490 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,491 INFO L272 TraceCheckUtils]: 18: Hoare triple {6394#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:21,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 04:40:21,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 04:40:21,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:21,492 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6394#(= main_~y~0 0)} #58#return; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {6394#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,493 INFO L290 TraceCheckUtils]: 24: Hoare triple {6394#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {6394#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {6394#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6394#(= main_~y~0 0)} is VALID [2022-04-08 04:40:21,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {6394#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6461#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:40:21,494 INFO L272 TraceCheckUtils]: 28: Hoare triple {6461#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:21,494 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:21,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {6468#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:21,495 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:21,496 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6461#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:40:21,496 INFO L290 TraceCheckUtils]: 33: Hoare triple {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:40:21,497 INFO L290 TraceCheckUtils]: 34: Hoare triple {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6486#(and (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:40:21,532 INFO L290 TraceCheckUtils]: 35: Hoare triple {6486#(and (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:40:21,532 INFO L290 TraceCheckUtils]: 36: Hoare triple {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:40:23,535 WARN L290 TraceCheckUtils]: 37: Hoare triple {6479#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6496#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} is UNKNOWN [2022-04-08 04:40:23,537 INFO L272 TraceCheckUtils]: 38: Hoare triple {6496#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (mod (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~xy~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:40:23,537 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:23,538 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-08 04:40:23,538 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-08 04:40:23,538 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:40:23,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:40:26,086 INFO L290 TraceCheckUtils]: 41: Hoare triple {6375#false} assume !false; {6375#false} is VALID [2022-04-08 04:40:26,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {6504#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6375#false} is VALID [2022-04-08 04:40:26,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6504#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:26,088 INFO L272 TraceCheckUtils]: 38: Hoare triple {6520#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6500#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:40:26,089 INFO L290 TraceCheckUtils]: 37: Hoare triple {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6520#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:40:26,089 INFO L290 TraceCheckUtils]: 36: Hoare triple {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:40:26,091 INFO L290 TraceCheckUtils]: 35: Hoare triple {6531#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:40:26,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6531#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:40:26,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:40:26,093 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} {6541#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {6524#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:40:26,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:26,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:26,094 INFO L290 TraceCheckUtils]: 29: Hoare triple {6374#true} ~cond := #in~cond; {6551#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:40:26,094 INFO L272 TraceCheckUtils]: 28: Hoare triple {6541#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6541#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L272 TraceCheckUtils]: 18: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-08 04:40:26,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {6374#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {6374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 13: Hoare triple {6374#true} assume !!(~x~0 <= ~X~0); {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6374#true} {6374#true} #58#return; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 10: Hoare triple {6374#true} assume !(0 == ~cond); {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {6374#true} ~cond := #in~cond; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L272 TraceCheckUtils]: 8: Hoare triple {6374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {6374#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 6: Hoare triple {6374#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {6374#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {6374#true} call #t~ret9 := main(); {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6374#true} {6374#true} #62#return; {6374#true} is VALID [2022-04-08 04:40:26,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {6374#true} assume true; {6374#true} is VALID [2022-04-08 04:40:26,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {6374#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6374#true} is VALID [2022-04-08 04:40:26,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {6374#true} call ULTIMATE.init(); {6374#true} is VALID [2022-04-08 04:40:26,097 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:40:26,097 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:40:26,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [465756972] [2022-04-08 04:40:26,097 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:40:26,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269407520] [2022-04-08 04:40:26,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [269407520] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:40:26,097 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:40:26,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 04:40:26,098 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:40:26,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1112014706] [2022-04-08 04:40:26,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1112014706] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:40:26,098 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:40:26,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:40:26,098 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1844837127] [2022-04-08 04:40:26,098 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:40:26,098 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-08 04:40:26,099 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:40:26,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:40:28,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:40:28,135 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:40:28,135 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:40:28,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:40:28,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:40:28,136 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:40:44,522 WARN L232 SmtUtils]: Spent 16.22s on a formula simplification. DAG size of input: 45 DAG size of output: 33 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:40:46,814 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:40:49,188 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:40:53,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:40:53,399 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-04-08 04:40:53,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:40:53,399 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-08 04:40:53,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:40:53,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:40:53,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-08 04:40:53,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:40:53,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-08 04:40:53,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-08 04:40:55,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:40:55,445 INFO L225 Difference]: With dead ends: 102 [2022-04-08 04:40:55,445 INFO L226 Difference]: Without dead ends: 97 [2022-04-08 04:40:55,446 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 20.8s TimeCoverageRelationStatistics Valid=78, Invalid=340, Unknown=2, NotChecked=0, Total=420 [2022-04-08 04:40:55,446 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 23 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 8 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:40:55,446 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 66 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 87 Invalid, 2 Unknown, 0 Unchecked, 4.3s Time] [2022-04-08 04:40:55,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-08 04:40:55,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 88. [2022-04-08 04:40:55,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:40:55,538 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:40:55,538 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:40:55,539 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:40:55,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:40:55,540 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 04:40:55,540 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-08 04:40:55,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:40:55,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:40:55,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-08 04:40:55,541 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 97 states. [2022-04-08 04:40:55,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:40:55,543 INFO L93 Difference]: Finished difference Result 97 states and 104 transitions. [2022-04-08 04:40:55,543 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 104 transitions. [2022-04-08 04:40:55,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:40:55,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:40:55,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:40:55,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:40:55,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1194029850746268) internal successors, (75), 68 states have internal predecessors, (75), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:40:55,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 95 transitions. [2022-04-08 04:40:55,545 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 95 transitions. Word has length 42 [2022-04-08 04:40:55,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:40:55,546 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 95 transitions. [2022-04-08 04:40:55,546 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:40:55,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 95 transitions. [2022-04-08 04:40:57,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 94 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:40:57,715 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-08 04:40:57,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 04:40:57,715 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:40:57,715 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:40:57,731 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 04:40:57,915 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:40:57,916 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:40:57,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:40:57,916 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 5 times [2022-04-08 04:40:57,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:40:57,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [81922532] [2022-04-08 04:40:57,994 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:40:57,994 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:40:57,994 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:40:57,994 INFO L85 PathProgramCache]: Analyzing trace with hash -918174170, now seen corresponding path program 6 times [2022-04-08 04:40:57,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:40:57,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820171866] [2022-04-08 04:40:57,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:40:57,995 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:40:58,005 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:40:58,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1123757205] [2022-04-08 04:40:58,006 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:40:58,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:40:58,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:40:58,007 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:40:58,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 04:40:58,074 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:40:58,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:40:58,076 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 04:40:58,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:40:58,089 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:41:09,633 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:41:14,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-08 04:41:14,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7225#true} is VALID [2022-04-08 04:41:14,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:14,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-08 04:41:14,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-08 04:41:14,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,107 INFO L272 TraceCheckUtils]: 8: Hoare triple {7245#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:14,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 04:41:14,107 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 04:41:14,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:14,108 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,110 INFO L272 TraceCheckUtils]: 18: Hoare triple {7245#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:14,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 04:41:14,110 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 04:41:14,110 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:14,111 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7245#(= main_~y~0 0)} #58#return; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {7245#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {7245#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {7245#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {7245#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7245#(= main_~y~0 0)} is VALID [2022-04-08 04:41:14,113 INFO L290 TraceCheckUtils]: 27: Hoare triple {7245#(= main_~y~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7312#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:41:14,113 INFO L272 TraceCheckUtils]: 28: Hoare triple {7312#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:14,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:14,114 INFO L290 TraceCheckUtils]: 30: Hoare triple {7319#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:14,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:14,115 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7312#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {7330#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:14,116 INFO L290 TraceCheckUtils]: 33: Hoare triple {7330#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7330#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:14,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {7330#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7337#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:41:14,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7341#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:41:14,120 INFO L290 TraceCheckUtils]: 36: Hoare triple {7341#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7341#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-08 04:41:16,122 WARN L290 TraceCheckUtils]: 37: Hoare triple {7341#(and (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7348#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~X~0 main_~xy~0))} is UNKNOWN [2022-04-08 04:41:16,125 INFO L272 TraceCheckUtils]: 38: Hoare triple {7348#(and (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= (div (+ main_~v~0 (* main_~X~0 3)) 2) main_~Y~0)) (and (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:16,125 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:16,125 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-08 04:41:16,126 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-08 04:41:16,126 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:41:16,126 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:41:24,686 INFO L290 TraceCheckUtils]: 41: Hoare triple {7226#false} assume !false; {7226#false} is VALID [2022-04-08 04:41:24,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {7356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7226#false} is VALID [2022-04-08 04:41:24,687 INFO L290 TraceCheckUtils]: 39: Hoare triple {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:24,688 INFO L272 TraceCheckUtils]: 38: Hoare triple {7372#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:24,688 INFO L290 TraceCheckUtils]: 37: Hoare triple {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7372#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:41:24,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:24,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {7383#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:24,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {7383#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:41:24,693 INFO L290 TraceCheckUtils]: 33: Hoare triple {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:24,694 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} {7393#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {7376#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:24,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:24,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7323#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:24,695 INFO L290 TraceCheckUtils]: 29: Hoare triple {7225#true} ~cond := #in~cond; {7403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:41:24,695 INFO L272 TraceCheckUtils]: 28: Hoare triple {7393#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7393#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 24: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 23: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 21: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 04:41:24,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L272 TraceCheckUtils]: 18: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {7225#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {7225#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {7225#true} assume !!(~x~0 <= ~X~0); {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7225#true} {7225#true} #58#return; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 10: Hoare triple {7225#true} assume !(0 == ~cond); {7225#true} is VALID [2022-04-08 04:41:24,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {7225#true} ~cond := #in~cond; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L272 TraceCheckUtils]: 8: Hoare triple {7225#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {7225#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L290 TraceCheckUtils]: 6: Hoare triple {7225#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L290 TraceCheckUtils]: 5: Hoare triple {7225#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {7225#true} call #t~ret9 := main(); {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7225#true} {7225#true} #62#return; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {7225#true} assume true; {7225#true} is VALID [2022-04-08 04:41:24,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {7225#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7225#true} is VALID [2022-04-08 04:41:24,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {7225#true} call ULTIMATE.init(); {7225#true} is VALID [2022-04-08 04:41:24,699 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:41:24,699 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:24,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1820171866] [2022-04-08 04:41:24,699 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:24,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123757205] [2022-04-08 04:41:24,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1123757205] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:41:24,700 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:41:24,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 04:41:24,700 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:24,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [81922532] [2022-04-08 04:41:24,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [81922532] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:24,700 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:24,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:41:24,700 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1107945445] [2022-04-08 04:41:24,700 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:24,701 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-08 04:41:24,701 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:24,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:41:26,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:26,742 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:41:26,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:26,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:41:26,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:41:26,742 INFO L87 Difference]: Start difference. First operand 88 states and 95 transitions. Second operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:41:28,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:28,940 INFO L93 Difference]: Finished difference Result 103 states and 113 transitions. [2022-04-08 04:41:28,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:41:28,940 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 42 [2022-04-08 04:41:28,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:28,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:41:28,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-08 04:41:28,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:41:28,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 53 transitions. [2022-04-08 04:41:28,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 53 transitions. [2022-04-08 04:41:31,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:31,007 INFO L225 Difference]: With dead ends: 103 [2022-04-08 04:41:31,007 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 04:41:31,007 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-08 04:41:31,008 INFO L913 BasicCegarLoop]: 14 mSDtfsCounter, 21 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:31,008 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 113 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 04:41:31,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 04:41:31,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2022-04-08 04:41:31,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:31,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:41:31,116 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:41:31,116 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:41:31,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:31,118 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-08 04:41:31,118 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-08 04:41:31,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:31,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:31,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-08 04:41:31,119 INFO L87 Difference]: Start difference. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 101 states. [2022-04-08 04:41:31,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:31,120 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-08 04:41:31,121 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-08 04:41:31,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:31,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:31,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:31,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:31,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 76 states have internal predecessors, (86), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:41:31,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 108 transitions. [2022-04-08 04:41:31,123 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 108 transitions. Word has length 42 [2022-04-08 04:41:31,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:31,123 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 108 transitions. [2022-04-08 04:41:31,123 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.3) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:41:31,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 108 transitions. [2022-04-08 04:41:35,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 106 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:35,369 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 108 transitions. [2022-04-08 04:41:35,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 04:41:35,370 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:35,371 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:35,387 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-08 04:41:35,571 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 04:41:35,571 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:35,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:35,572 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 7 times [2022-04-08 04:41:35,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:35,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1102581685] [2022-04-08 04:41:35,660 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:41:35,660 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:41:35,660 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:41:35,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1427647260, now seen corresponding path program 8 times [2022-04-08 04:41:35,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:35,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [846154113] [2022-04-08 04:41:35,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:35,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:35,671 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:35,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [7354168] [2022-04-08 04:41:35,671 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:41:35,672 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:35,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:35,675 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:41:35,698 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 04:41:35,744 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:41:35,745 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:35,746 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 04:41:35,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:35,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:41:36,325 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-08 04:41:36,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8105#true} is VALID [2022-04-08 04:41:36,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 04:41:36,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-08 04:41:36,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-08 04:41:36,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:36,326 INFO L290 TraceCheckUtils]: 6: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:36,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:36,327 INFO L272 TraceCheckUtils]: 8: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:36,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 04:41:36,327 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 04:41:36,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 04:41:36,327 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #58#return; {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:36,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-08 04:41:36,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {8125#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8153#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:36,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {8153#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:36,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:36,330 INFO L290 TraceCheckUtils]: 17: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8164#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-08 04:41:36,330 INFO L272 TraceCheckUtils]: 18: Hoare triple {8164#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:36,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:36,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:36,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:36,332 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8164#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:36,332 INFO L290 TraceCheckUtils]: 23: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-08 04:41:36,333 INFO L290 TraceCheckUtils]: 24: Hoare triple {8157#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8188#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} is VALID [2022-04-08 04:41:36,333 INFO L290 TraceCheckUtils]: 25: Hoare triple {8188#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,335 INFO L290 TraceCheckUtils]: 27: Hoare triple {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8199#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,335 INFO L272 TraceCheckUtils]: 28: Hoare triple {8199#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:36,335 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:36,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {8171#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:36,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:36,336 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8199#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {8192#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {8218#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,338 INFO L290 TraceCheckUtils]: 34: Hoare triple {8218#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8222#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} is VALID [2022-04-08 04:41:36,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {8222#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8226#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:41:36,339 INFO L290 TraceCheckUtils]: 36: Hoare triple {8226#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8226#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:41:36,339 INFO L290 TraceCheckUtils]: 37: Hoare triple {8226#(and (= main_~y~0 2) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (- 1) main_~x~0) 2) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} is VALID [2022-04-08 04:41:36,340 INFO L272 TraceCheckUtils]: 38: Hoare triple {8233#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:36,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:36,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-08 04:41:36,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-08 04:41:36,341 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:41:36,341 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:41:41,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {8106#false} assume !false; {8106#false} is VALID [2022-04-08 04:41:41,412 INFO L290 TraceCheckUtils]: 40: Hoare triple {8241#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8106#false} is VALID [2022-04-08 04:41:41,412 INFO L290 TraceCheckUtils]: 39: Hoare triple {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8241#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:41,420 INFO L272 TraceCheckUtils]: 38: Hoare triple {8257#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8237#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:41,421 INFO L290 TraceCheckUtils]: 37: Hoare triple {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8257#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:41:41,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:41,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {8268#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8261#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:41:41,426 INFO L290 TraceCheckUtils]: 34: Hoare triple {8272#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8268#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:41:41,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {8276#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {8272#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-08 04:41:41,427 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} {8280#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #58#return; {8276#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:41:41,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:41,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:41,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {8105#true} ~cond := #in~cond; {8290#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:41:41,429 INFO L272 TraceCheckUtils]: 28: Hoare triple {8280#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8280#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 25: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 24: Hoare triple {8105#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 21: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 04:41:41,430 INFO L290 TraceCheckUtils]: 20: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {8105#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {8105#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {8105#true} assume !!(~x~0 <= ~X~0); {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8105#true} {8105#true} #58#return; {8105#true} is VALID [2022-04-08 04:41:41,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 10: Hoare triple {8105#true} assume !(0 == ~cond); {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {8105#true} ~cond := #in~cond; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L272 TraceCheckUtils]: 8: Hoare triple {8105#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {8105#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {8105#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {8105#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {8105#true} call #t~ret9 := main(); {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8105#true} {8105#true} #62#return; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {8105#true} assume true; {8105#true} is VALID [2022-04-08 04:41:41,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {8105#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8105#true} is VALID [2022-04-08 04:41:41,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {8105#true} call ULTIMATE.init(); {8105#true} is VALID [2022-04-08 04:41:41,433 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:41:41,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:41,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [846154113] [2022-04-08 04:41:41,433 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:41,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [7354168] [2022-04-08 04:41:41,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [7354168] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:41:41,433 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:41:41,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-08 04:41:41,434 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:41,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1102581685] [2022-04-08 04:41:41,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1102581685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:41,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:41,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 04:41:41,434 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215527527] [2022-04-08 04:41:41,434 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:41,435 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-08 04:41:41,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:41,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:41,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:41,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 04:41:41,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:41,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 04:41:41,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:41:41,481 INFO L87 Difference]: Start difference. First operand 98 states and 108 transitions. Second operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:42,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:42,930 INFO L93 Difference]: Finished difference Result 113 states and 126 transitions. [2022-04-08 04:41:42,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 04:41:42,930 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-08 04:41:42,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:42,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:42,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-08 04:41:42,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:42,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 63 transitions. [2022-04-08 04:41:42,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 63 transitions. [2022-04-08 04:41:42,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:42,997 INFO L225 Difference]: With dead ends: 113 [2022-04-08 04:41:42,997 INFO L226 Difference]: Without dead ends: 111 [2022-04-08 04:41:42,998 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=124, Invalid=632, Unknown=0, NotChecked=0, Total=756 [2022-04-08 04:41:42,998 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-08 04:41:42,998 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-08 04:41:42,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-08 04:41:43,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 106. [2022-04-08 04:41:43,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:43,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:41:43,098 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:41:43,098 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:41:43,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:43,100 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-08 04:41:43,100 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-08 04:41:43,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:43,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:43,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-08 04:41:43,101 INFO L87 Difference]: Start difference. First operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 111 states. [2022-04-08 04:41:43,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:43,103 INFO L93 Difference]: Finished difference Result 111 states and 124 transitions. [2022-04-08 04:41:43,103 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 124 transitions. [2022-04-08 04:41:43,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:43,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:43,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:43,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:43,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 83 states have internal predecessors, (93), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:41:43,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 117 transitions. [2022-04-08 04:41:43,106 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 117 transitions. Word has length 42 [2022-04-08 04:41:43,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:43,106 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 117 transitions. [2022-04-08 04:41:43,106 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:41:43,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 117 transitions. [2022-04-08 04:41:47,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 115 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:47,328 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 117 transitions. [2022-04-08 04:41:47,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 04:41:47,332 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:47,332 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:47,351 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 04:41:47,539 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:47,539 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:47,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:47,540 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 9 times [2022-04-08 04:41:47,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:47,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1708587329] [2022-04-08 04:41:47,615 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:41:47,615 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:41:47,615 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:41:47,615 INFO L85 PathProgramCache]: Analyzing trace with hash 1682521956, now seen corresponding path program 10 times [2022-04-08 04:41:47,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:47,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [293203472] [2022-04-08 04:41:47,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:47,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:47,627 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:47,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [713178904] [2022-04-08 04:41:47,627 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:41:47,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:47,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:47,628 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:41:47,629 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 04:41:47,690 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:41:47,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:47,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:41:47,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:47,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:42:12,893 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:42:28,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-08 04:42:28,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9048#true} is VALID [2022-04-08 04:42:28,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:28,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-08 04:42:28,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-08 04:42:28,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {9068#(= main_~x~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {9068#(= main_~x~0 0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,573 INFO L272 TraceCheckUtils]: 8: Hoare triple {9068#(= main_~x~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:28,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 04:42:28,573 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 04:42:28,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:28,573 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9068#(= main_~x~0 0)} #58#return; {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {9068#(= main_~x~0 0)} assume !!(~x~0 <= ~X~0); {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {9068#(= main_~x~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9068#(= main_~x~0 0)} is VALID [2022-04-08 04:42:28,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {9068#(= main_~x~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {9099#(= main_~x~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {9099#(= main_~x~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,575 INFO L272 TraceCheckUtils]: 18: Hoare triple {9099#(= main_~x~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:28,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 04:42:28,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 04:42:28,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:28,576 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9099#(= main_~x~0 1)} #58#return; {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {9099#(= main_~x~0 1)} assume !!(~x~0 <= ~X~0); {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {9099#(= main_~x~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9099#(= main_~x~0 1)} is VALID [2022-04-08 04:42:28,577 INFO L290 TraceCheckUtils]: 25: Hoare triple {9099#(= main_~x~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9130#(= main_~x~0 2)} is VALID [2022-04-08 04:42:28,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {9130#(= main_~x~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9130#(= main_~x~0 2)} is VALID [2022-04-08 04:42:28,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {9130#(= main_~x~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9137#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} is VALID [2022-04-08 04:42:28,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {9137#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:28,578 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:28,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {9144#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:28,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:28,579 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9137#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2))} #58#return; {9155#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} is VALID [2022-04-08 04:42:28,580 INFO L290 TraceCheckUtils]: 33: Hoare triple {9155#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {9155#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} is VALID [2022-04-08 04:42:28,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {9155#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9162#(and (= main_~x~0 2) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-08 04:42:28,581 INFO L290 TraceCheckUtils]: 35: Hoare triple {9162#(and (= main_~x~0 2) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9166#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-08 04:42:28,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (- 1) main_~x~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9166#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-08 04:42:30,583 WARN L290 TraceCheckUtils]: 37: Hoare triple {9166#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (- 1) main_~x~0) 2))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9173#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) main_~yx~0))} is UNKNOWN [2022-04-08 04:42:30,585 INFO L272 TraceCheckUtils]: 38: Hoare triple {9173#(and (or (and (= main_~xy~0 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) 0)) (and (= (mod (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 (* main_~X~0 (div (+ (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 4)) main_~X~0))) (not (= main_~X~0 0)))) (= (* main_~Y~0 3) main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:30,586 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:30,586 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-08 04:42:30,586 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-08 04:42:30,587 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:42:30,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:42:35,010 INFO L290 TraceCheckUtils]: 41: Hoare triple {9049#false} assume !false; {9049#false} is VALID [2022-04-08 04:42:35,011 INFO L290 TraceCheckUtils]: 40: Hoare triple {9181#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9049#false} is VALID [2022-04-08 04:42:35,011 INFO L290 TraceCheckUtils]: 39: Hoare triple {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9181#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:35,012 INFO L272 TraceCheckUtils]: 38: Hoare triple {9197#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9177#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:35,013 INFO L290 TraceCheckUtils]: 37: Hoare triple {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9197#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-08 04:42:35,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:42:35,028 INFO L290 TraceCheckUtils]: 35: Hoare triple {9208#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:42:35,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9208#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-08 04:42:35,029 INFO L290 TraceCheckUtils]: 33: Hoare triple {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:42:35,030 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} {9218#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #58#return; {9201#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-08 04:42:35,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:35,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9148#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:35,031 INFO L290 TraceCheckUtils]: 29: Hoare triple {9048#true} ~cond := #in~cond; {9228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:42:35,031 INFO L272 TraceCheckUtils]: 28: Hoare triple {9218#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9218#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 25: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 24: Hoare triple {9048#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:35,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 19: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L272 TraceCheckUtils]: 18: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 17: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 16: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 15: Hoare triple {9048#true} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 14: Hoare triple {9048#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {9048#true} assume !!(~x~0 <= ~X~0); {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9048#true} {9048#true} #58#return; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 10: Hoare triple {9048#true} assume !(0 == ~cond); {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {9048#true} ~cond := #in~cond; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L272 TraceCheckUtils]: 8: Hoare triple {9048#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 7: Hoare triple {9048#true} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9048#true} is VALID [2022-04-08 04:42:35,033 INFO L290 TraceCheckUtils]: 6: Hoare triple {9048#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {9048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {9048#true} call #t~ret9 := main(); {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9048#true} {9048#true} #62#return; {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {9048#true} assume true; {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {9048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {9048#true} call ULTIMATE.init(); {9048#true} is VALID [2022-04-08 04:42:35,034 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:42:35,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:42:35,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [293203472] [2022-04-08 04:42:35,035 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:42:35,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [713178904] [2022-04-08 04:42:35,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [713178904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:42:35,035 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:42:35,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-08 04:42:35,035 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:42:35,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1708587329] [2022-04-08 04:42:35,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1708587329] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:42:35,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:42:35,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:42:35,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702637536] [2022-04-08 04:42:35,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:42:35,036 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-08 04:42:35,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:42:35,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:42:37,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:37,072 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:42:37,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:42:37,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:42:37,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=292, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:42:37,073 INFO L87 Difference]: Start difference. First operand 106 states and 117 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:42:55,642 WARN L232 SmtUtils]: Spent 17.68s on a formula simplification. DAG size of input: 48 DAG size of output: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:42:56,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:56,528 INFO L93 Difference]: Finished difference Result 150 states and 171 transitions. [2022-04-08 04:42:56,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:42:56,529 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 42 [2022-04-08 04:42:56,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:42:56,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:42:56,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:42:56,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:42:56,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-08 04:42:56,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-08 04:42:58,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:42:58,608 INFO L225 Difference]: With dead ends: 150 [2022-04-08 04:42:58,609 INFO L226 Difference]: Without dead ends: 148 [2022-04-08 04:42:58,609 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 18.1s TimeCoverageRelationStatistics Valid=85, Invalid=467, Unknown=0, NotChecked=0, Total=552 [2022-04-08 04:42:58,609 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 22 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 331 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:42:58,609 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.7s Time] [2022-04-08 04:42:58,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-08 04:42:58,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 107. [2022-04-08 04:42:58,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:42:58,708 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:42:58,709 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:42:58,709 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:42:58,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:58,712 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 04:42:58,712 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 04:42:58,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:58,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:58,713 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-08 04:42:58,713 INFO L87 Difference]: Start difference. First operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 148 states. [2022-04-08 04:42:58,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:42:58,716 INFO L93 Difference]: Finished difference Result 148 states and 169 transitions. [2022-04-08 04:42:58,716 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 169 transitions. [2022-04-08 04:42:58,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:42:58,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:42:58,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:42:58,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:42:58,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 84 states have internal predecessors, (95), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 04:42:58,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 119 transitions. [2022-04-08 04:42:58,719 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 119 transitions. Word has length 42 [2022-04-08 04:42:58,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:42:58,719 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 119 transitions. [2022-04-08 04:42:58,719 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:42:58,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 119 transitions. [2022-04-08 04:43:04,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 116 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:04,985 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 119 transitions. [2022-04-08 04:43:04,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 04:43:04,985 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:04,985 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:05,001 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 04:43:05,186 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 04:43:05,186 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:05,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:05,187 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 3 times [2022-04-08 04:43:05,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:05,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [631090278] [2022-04-08 04:43:05,283 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:43:05,283 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:43:05,283 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:43:05,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1526027469, now seen corresponding path program 4 times [2022-04-08 04:43:05,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:05,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1617856860] [2022-04-08 04:43:05,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:05,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:05,294 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:05,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [449945614] [2022-04-08 04:43:05,294 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:43:05,294 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:05,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:05,298 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:43:05,303 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 04:43:05,350 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:43:05,350 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:05,351 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 04:43:05,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:05,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:05,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-08 04:43:05,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 04:43:05,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {10146#(<= ~counter~0 0)} assume true; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 04:43:05,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10146#(<= ~counter~0 0)} {10138#true} #62#return; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 04:43:05,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {10146#(<= ~counter~0 0)} call #t~ret9 := main(); {10146#(<= ~counter~0 0)} is VALID [2022-04-08 04:43:05,623 INFO L290 TraceCheckUtils]: 5: Hoare triple {10146#(<= ~counter~0 0)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10146#(<= ~counter~0 0)} is VALID [2022-04-08 04:43:05,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {10146#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,625 INFO L272 TraceCheckUtils]: 8: Hoare triple {10162#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= ~counter~0 1)} ~cond := #in~cond; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,626 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= ~counter~0 1)} assume !(0 == ~cond); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= ~counter~0 1)} assume true; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,627 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10162#(<= ~counter~0 1)} {10162#(<= ~counter~0 1)} #58#return; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {10162#(<= ~counter~0 1)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {10162#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10162#(<= ~counter~0 1)} is VALID [2022-04-08 04:43:05,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {10162#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,629 INFO L290 TraceCheckUtils]: 17: Hoare triple {10193#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,630 INFO L272 TraceCheckUtils]: 18: Hoare triple {10193#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {10193#(<= ~counter~0 2)} ~cond := #in~cond; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {10193#(<= ~counter~0 2)} assume !(0 == ~cond); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,631 INFO L290 TraceCheckUtils]: 21: Hoare triple {10193#(<= ~counter~0 2)} assume true; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,631 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10193#(<= ~counter~0 2)} {10193#(<= ~counter~0 2)} #58#return; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {10193#(<= ~counter~0 2)} assume !!(~x~0 <= ~X~0); {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,632 INFO L290 TraceCheckUtils]: 24: Hoare triple {10193#(<= ~counter~0 2)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,632 INFO L290 TraceCheckUtils]: 25: Hoare triple {10193#(<= ~counter~0 2)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10193#(<= ~counter~0 2)} is VALID [2022-04-08 04:43:05,633 INFO L290 TraceCheckUtils]: 26: Hoare triple {10193#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {10224#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,633 INFO L272 TraceCheckUtils]: 28: Hoare triple {10224#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,634 INFO L290 TraceCheckUtils]: 29: Hoare triple {10224#(<= ~counter~0 3)} ~cond := #in~cond; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,634 INFO L290 TraceCheckUtils]: 30: Hoare triple {10224#(<= ~counter~0 3)} assume !(0 == ~cond); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {10224#(<= ~counter~0 3)} assume true; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,635 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10224#(<= ~counter~0 3)} {10224#(<= ~counter~0 3)} #58#return; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,635 INFO L290 TraceCheckUtils]: 33: Hoare triple {10224#(<= ~counter~0 3)} assume !!(~x~0 <= ~X~0); {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,636 INFO L290 TraceCheckUtils]: 34: Hoare triple {10224#(<= ~counter~0 3)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,636 INFO L290 TraceCheckUtils]: 35: Hoare triple {10224#(<= ~counter~0 3)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10224#(<= ~counter~0 3)} is VALID [2022-04-08 04:43:05,636 INFO L290 TraceCheckUtils]: 36: Hoare triple {10224#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10255#(<= |main_#t~post6| 3)} is VALID [2022-04-08 04:43:05,637 INFO L290 TraceCheckUtils]: 37: Hoare triple {10255#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-08 04:43:05,637 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-08 04:43:05,637 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {10139#false} is VALID [2022-04-08 04:43:05,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-08 04:43:05,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-08 04:43:05,637 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-08 04:43:05,638 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:43:05,638 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:05,840 INFO L290 TraceCheckUtils]: 42: Hoare triple {10139#false} assume !false; {10139#false} is VALID [2022-04-08 04:43:05,840 INFO L290 TraceCheckUtils]: 41: Hoare triple {10139#false} assume 0 == ~cond; {10139#false} is VALID [2022-04-08 04:43:05,840 INFO L290 TraceCheckUtils]: 40: Hoare triple {10139#false} ~cond := #in~cond; {10139#false} is VALID [2022-04-08 04:43:05,841 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {10139#false} is VALID [2022-04-08 04:43:05,841 INFO L290 TraceCheckUtils]: 38: Hoare triple {10139#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {10139#false} is VALID [2022-04-08 04:43:05,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {10289#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {10139#false} is VALID [2022-04-08 04:43:05,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {10293#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10289#(< |main_#t~post6| 100)} is VALID [2022-04-08 04:43:05,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {10293#(< ~counter~0 100)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {10293#(< ~counter~0 100)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,842 INFO L290 TraceCheckUtils]: 33: Hoare triple {10293#(< ~counter~0 100)} assume !!(~x~0 <= ~X~0); {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,843 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10138#true} {10293#(< ~counter~0 100)} #58#return; {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,843 INFO L290 TraceCheckUtils]: 31: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 04:43:05,843 INFO L290 TraceCheckUtils]: 30: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 04:43:05,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 04:43:05,843 INFO L272 TraceCheckUtils]: 28: Hoare triple {10293#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 04:43:05,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {10293#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {10324#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(< ~counter~0 100)} is VALID [2022-04-08 04:43:05,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {10324#(< ~counter~0 99)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {10324#(< ~counter~0 99)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,845 INFO L290 TraceCheckUtils]: 23: Hoare triple {10324#(< ~counter~0 99)} assume !!(~x~0 <= ~X~0); {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,846 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10138#true} {10324#(< ~counter~0 99)} #58#return; {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,846 INFO L290 TraceCheckUtils]: 21: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 04:43:05,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 04:43:05,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 04:43:05,846 INFO L272 TraceCheckUtils]: 18: Hoare triple {10324#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 04:43:05,846 INFO L290 TraceCheckUtils]: 17: Hoare triple {10324#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {10355#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10324#(< ~counter~0 99)} is VALID [2022-04-08 04:43:05,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {10355#(< ~counter~0 98)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {10355#(< ~counter~0 98)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {10355#(< ~counter~0 98)} assume !!(~x~0 <= ~X~0); {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,848 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10138#true} {10355#(< ~counter~0 98)} #58#return; {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {10138#true} assume true; {10138#true} is VALID [2022-04-08 04:43:05,848 INFO L290 TraceCheckUtils]: 10: Hoare triple {10138#true} assume !(0 == ~cond); {10138#true} is VALID [2022-04-08 04:43:05,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {10138#true} ~cond := #in~cond; {10138#true} is VALID [2022-04-08 04:43:05,848 INFO L272 TraceCheckUtils]: 8: Hoare triple {10355#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10138#true} is VALID [2022-04-08 04:43:05,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {10386#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10355#(< ~counter~0 98)} is VALID [2022-04-08 04:43:05,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {10386#(< ~counter~0 97)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10386#(< ~counter~0 97)} is VALID [2022-04-08 04:43:05,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {10386#(< ~counter~0 97)} call #t~ret9 := main(); {10386#(< ~counter~0 97)} is VALID [2022-04-08 04:43:05,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10386#(< ~counter~0 97)} {10138#true} #62#return; {10386#(< ~counter~0 97)} is VALID [2022-04-08 04:43:05,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {10386#(< ~counter~0 97)} assume true; {10386#(< ~counter~0 97)} is VALID [2022-04-08 04:43:05,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {10138#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10386#(< ~counter~0 97)} is VALID [2022-04-08 04:43:05,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {10138#true} call ULTIMATE.init(); {10138#true} is VALID [2022-04-08 04:43:05,851 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 04:43:05,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:05,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1617856860] [2022-04-08 04:43:05,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:05,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [449945614] [2022-04-08 04:43:05,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [449945614] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:05,852 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:05,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 04:43:05,852 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:05,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [631090278] [2022-04-08 04:43:05,853 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [631090278] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:05,853 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:05,853 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:43:05,853 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90566521] [2022-04-08 04:43:05,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:05,854 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-08 04:43:05,854 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:05,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:43:05,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:05,890 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:43:05,890 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:05,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:43:05,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:43:05,891 INFO L87 Difference]: Start difference. First operand 107 states and 119 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:43:06,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:06,182 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-08 04:43:06,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:43:06,182 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 43 [2022-04-08 04:43:06,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:06,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:43:06,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 04:43:06,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:43:06,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 04:43:06,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-08 04:43:06,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:06,247 INFO L225 Difference]: With dead ends: 131 [2022-04-08 04:43:06,247 INFO L226 Difference]: Without dead ends: 123 [2022-04-08 04:43:06,247 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:43:06,248 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 10 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:06,248 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 92 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:43:06,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-08 04:43:06,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-04-08 04:43:06,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:06,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:43:06,421 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:43:06,421 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:43:06,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:06,423 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-08 04:43:06,423 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-08 04:43:06,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:06,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:06,424 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-08 04:43:06,424 INFO L87 Difference]: Start difference. First operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 123 states. [2022-04-08 04:43:06,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:06,426 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-04-08 04:43:06,426 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2022-04-08 04:43:06,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:06,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:06,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:06,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:06,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 93 states have (on average 1.1397849462365592) internal successors, (106), 95 states have internal predecessors, (106), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:43:06,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-08 04:43:06,429 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 43 [2022-04-08 04:43:06,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:06,429 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-08 04:43:06,429 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (6), 6 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:43:06,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 132 transitions. [2022-04-08 04:43:16,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 127 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:16,736 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-08 04:43:16,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 04:43:16,737 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:16,737 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:16,752 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-08 04:43:16,937 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 04:43:16,937 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:16,937 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:16,937 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 1 times [2022-04-08 04:43:16,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:16,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1033740226] [2022-04-08 04:43:17,014 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:43:17,014 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:43:17,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:43:17,014 INFO L85 PathProgramCache]: Analyzing trace with hash -684010378, now seen corresponding path program 2 times [2022-04-08 04:43:17,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:17,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1263211647] [2022-04-08 04:43:17,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:17,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:17,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:17,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1632672217] [2022-04-08 04:43:17,024 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:43:17,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:17,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:17,025 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:43:17,027 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 04:43:17,075 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:43:17,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:17,076 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 04:43:17,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:17,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:17,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-08 04:43:17,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11161#true} is VALID [2022-04-08 04:43:17,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:17,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-08 04:43:17,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-08 04:43:17,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:17,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:17,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:17,942 INFO L272 TraceCheckUtils]: 8: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:17,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:17,942 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:17,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:17,943 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:17,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-08 04:43:17,944 INFO L290 TraceCheckUtils]: 14: Hoare triple {11181#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11209#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-08 04:43:17,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {11209#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 04:43:17,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 04:43:17,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 04:43:17,945 INFO L272 TraceCheckUtils]: 18: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:17,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:17,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:17,946 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:17,946 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #58#return; {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 04:43:17,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-08 04:43:17,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {11213#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11241#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-08 04:43:17,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {11241#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,949 INFO L290 TraceCheckUtils]: 27: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,949 INFO L272 TraceCheckUtils]: 28: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:17,949 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:17,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:17,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:17,950 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #58#return; {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,950 INFO L290 TraceCheckUtils]: 33: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {11245#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-08 04:43:17,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {11273#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 04:43:17,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 04:43:17,953 INFO L290 TraceCheckUtils]: 37: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 04:43:17,953 INFO L272 TraceCheckUtils]: 38: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:17,953 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:17,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:17,953 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:17,953 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #58#return; {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-08 04:43:17,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {11277#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-08 04:43:17,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-08 04:43:17,954 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {11162#false} is VALID [2022-04-08 04:43:17,954 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-08 04:43:17,954 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-08 04:43:17,954 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-08 04:43:17,955 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 04:43:17,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:18,360 INFO L290 TraceCheckUtils]: 48: Hoare triple {11162#false} assume !false; {11162#false} is VALID [2022-04-08 04:43:18,361 INFO L290 TraceCheckUtils]: 47: Hoare triple {11162#false} assume 0 == ~cond; {11162#false} is VALID [2022-04-08 04:43:18,361 INFO L290 TraceCheckUtils]: 46: Hoare triple {11162#false} ~cond := #in~cond; {11162#false} is VALID [2022-04-08 04:43:18,361 INFO L272 TraceCheckUtils]: 45: Hoare triple {11162#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {11162#false} is VALID [2022-04-08 04:43:18,361 INFO L290 TraceCheckUtils]: 44: Hoare triple {11162#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {11162#false} is VALID [2022-04-08 04:43:18,361 INFO L290 TraceCheckUtils]: 43: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {11162#false} is VALID [2022-04-08 04:43:18,362 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11161#true} {11332#(<= main_~x~0 main_~X~0)} #58#return; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:18,362 INFO L290 TraceCheckUtils]: 41: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:18,362 INFO L290 TraceCheckUtils]: 40: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:18,362 INFO L290 TraceCheckUtils]: 39: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:18,362 INFO L272 TraceCheckUtils]: 38: Hoare triple {11332#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:18,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {11332#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:18,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {11332#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:18,363 INFO L290 TraceCheckUtils]: 35: Hoare triple {11357#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11332#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:18,364 INFO L290 TraceCheckUtils]: 34: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {11357#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:18,364 INFO L290 TraceCheckUtils]: 33: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:18,365 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11161#true} {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:18,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:18,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:18,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:18,365 INFO L272 TraceCheckUtils]: 28: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:18,365 INFO L290 TraceCheckUtils]: 27: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:18,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:18,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11361#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-08 04:43:18,367 INFO L290 TraceCheckUtils]: 24: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11389#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:18,367 INFO L290 TraceCheckUtils]: 23: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:43:18,368 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11161#true} {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #58#return; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:43:18,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:18,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:18,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:18,368 INFO L272 TraceCheckUtils]: 18: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:18,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:43:18,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:43:18,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {11421#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {11393#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-08 04:43:18,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11421#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:18,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-08 04:43:18,371 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11161#true} {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #58#return; {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-08 04:43:18,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:18,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {11161#true} assume !(0 == ~cond); {11161#true} is VALID [2022-04-08 04:43:18,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {11161#true} ~cond := #in~cond; {11161#true} is VALID [2022-04-08 04:43:18,372 INFO L272 TraceCheckUtils]: 8: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11161#true} is VALID [2022-04-08 04:43:18,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-08 04:43:18,372 INFO L290 TraceCheckUtils]: 6: Hoare triple {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-08 04:43:18,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {11161#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11425#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-08 04:43:18,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {11161#true} call #t~ret9 := main(); {11161#true} is VALID [2022-04-08 04:43:18,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11161#true} {11161#true} #62#return; {11161#true} is VALID [2022-04-08 04:43:18,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {11161#true} assume true; {11161#true} is VALID [2022-04-08 04:43:18,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {11161#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11161#true} is VALID [2022-04-08 04:43:18,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {11161#true} call ULTIMATE.init(); {11161#true} is VALID [2022-04-08 04:43:18,374 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 04:43:18,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:18,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1263211647] [2022-04-08 04:43:18,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:18,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1632672217] [2022-04-08 04:43:18,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1632672217] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:18,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:18,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 04:43:18,375 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:18,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1033740226] [2022-04-08 04:43:18,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1033740226] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:18,375 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:18,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:43:18,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1363535141] [2022-04-08 04:43:18,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:18,375 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-08 04:43:18,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:18,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:18,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:18,408 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:43:18,408 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:18,408 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:43:18,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:43:18,408 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:18,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:18,986 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2022-04-08 04:43:18,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:43:18,987 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-08 04:43:18,987 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:18,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:18,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 04:43:18,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:18,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 04:43:18,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-08 04:43:19,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:19,045 INFO L225 Difference]: With dead ends: 136 [2022-04-08 04:43:19,045 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 04:43:19,046 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:43:19,046 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:19,046 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 123 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:43:19,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 04:43:19,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 125. [2022-04-08 04:43:19,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:19,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:19,214 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:19,215 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:19,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:19,217 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-08 04:43:19,217 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-08 04:43:19,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:19,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:19,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-08 04:43:19,218 INFO L87 Difference]: Start difference. First operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 128 states. [2022-04-08 04:43:19,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:19,220 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-08 04:43:19,220 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-08 04:43:19,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:19,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:19,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:19,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:19,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 97 states have (on average 1.134020618556701) internal successors, (110), 99 states have internal predecessors, (110), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:19,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 138 transitions. [2022-04-08 04:43:19,223 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 138 transitions. Word has length 49 [2022-04-08 04:43:19,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:19,223 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 138 transitions. [2022-04-08 04:43:19,223 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:19,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 138 transitions. [2022-04-08 04:43:31,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 132 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:31,560 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 138 transitions. [2022-04-08 04:43:31,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 04:43:31,560 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:31,560 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:31,576 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 04:43:31,760 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 04:43:31,761 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:31,761 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:31,761 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 3 times [2022-04-08 04:43:31,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:31,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1487563005] [2022-04-08 04:43:31,844 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:43:31,844 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:43:31,844 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:43:31,844 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 4 times [2022-04-08 04:43:31,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:31,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [741890203] [2022-04-08 04:43:31,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:31,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:31,853 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:31,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1124928352] [2022-04-08 04:43:31,854 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:43:31,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:31,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:31,855 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:43:31,867 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 04:43:31,918 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:43:31,919 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:31,920 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 04:43:31,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:31,929 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:33,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-08 04:43:33,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12248#true} is VALID [2022-04-08 04:43:33,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-08 04:43:33,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-08 04:43:33,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:33,130 INFO L290 TraceCheckUtils]: 6: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:33,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:33,130 INFO L272 TraceCheckUtils]: 8: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,130 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,130 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,131 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:33,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-08 04:43:33,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {12268#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12296#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} is VALID [2022-04-08 04:43:33,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {12296#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:33,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:33,134 INFO L290 TraceCheckUtils]: 17: Hoare triple {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:33,134 INFO L272 TraceCheckUtils]: 18: Hoare triple {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,134 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,134 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} #58#return; {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:33,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} is VALID [2022-04-08 04:43:33,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {12300#(and (< (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)) (= main_~x~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12328#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {12328#(and (= main_~x~0 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,137 INFO L272 TraceCheckUtils]: 28: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,138 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,138 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,139 INFO L290 TraceCheckUtils]: 34: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {12332#(and (= (+ (- 1) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,140 INFO L272 TraceCheckUtils]: 38: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,141 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-08 04:43:33,142 INFO L290 TraceCheckUtils]: 43: Hoare triple {12363#(and (= (+ (- 2) main_~x~0) 1) (< (div (- main_~X~0) (- 4)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-08 04:43:33,142 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 04:43:33,142 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:43:33,485 INFO L290 TraceCheckUtils]: 48: Hoare triple {12249#false} assume !false; {12249#false} is VALID [2022-04-08 04:43:33,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {12249#false} assume 0 == ~cond; {12249#false} is VALID [2022-04-08 04:43:33,486 INFO L290 TraceCheckUtils]: 46: Hoare triple {12249#false} ~cond := #in~cond; {12249#false} is VALID [2022-04-08 04:43:33,486 INFO L272 TraceCheckUtils]: 45: Hoare triple {12249#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {12249#false} is VALID [2022-04-08 04:43:33,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {12249#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12249#false} is VALID [2022-04-08 04:43:33,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12249#false} is VALID [2022-04-08 04:43:33,487 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12248#true} {12418#(<= main_~x~0 main_~X~0)} #58#return; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:33,487 INFO L290 TraceCheckUtils]: 41: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,487 INFO L290 TraceCheckUtils]: 39: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,487 INFO L272 TraceCheckUtils]: 38: Hoare triple {12418#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,487 INFO L290 TraceCheckUtils]: 37: Hoare triple {12418#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:33,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {12418#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:33,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12418#(<= main_~x~0 main_~X~0)} is VALID [2022-04-08 04:43:33,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,489 INFO L290 TraceCheckUtils]: 33: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,490 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12248#true} {12443#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,490 INFO L290 TraceCheckUtils]: 31: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,490 INFO L290 TraceCheckUtils]: 30: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,490 INFO L290 TraceCheckUtils]: 29: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,490 INFO L272 TraceCheckUtils]: 28: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,491 INFO L290 TraceCheckUtils]: 26: Hoare triple {12443#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {12474#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12443#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-08 04:43:33,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {12474#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-08 04:43:33,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:33,493 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12248#true} {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:33,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,493 INFO L290 TraceCheckUtils]: 19: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,493 INFO L272 TraceCheckUtils]: 18: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,493 INFO L290 TraceCheckUtils]: 17: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:33,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:33,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {12478#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-08 04:43:33,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12506#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,496 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12248#true} {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,496 INFO L290 TraceCheckUtils]: 11: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,496 INFO L290 TraceCheckUtils]: 10: Hoare triple {12248#true} assume !(0 == ~cond); {12248#true} is VALID [2022-04-08 04:43:33,496 INFO L290 TraceCheckUtils]: 9: Hoare triple {12248#true} ~cond := #in~cond; {12248#true} is VALID [2022-04-08 04:43:33,496 INFO L272 TraceCheckUtils]: 8: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12248#true} is VALID [2022-04-08 04:43:33,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {12248#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12510#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-08 04:43:33,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {12248#true} call #t~ret9 := main(); {12248#true} is VALID [2022-04-08 04:43:33,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12248#true} {12248#true} #62#return; {12248#true} is VALID [2022-04-08 04:43:33,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {12248#true} assume true; {12248#true} is VALID [2022-04-08 04:43:33,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {12248#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12248#true} is VALID [2022-04-08 04:43:33,499 INFO L272 TraceCheckUtils]: 0: Hoare triple {12248#true} call ULTIMATE.init(); {12248#true} is VALID [2022-04-08 04:43:33,499 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 04:43:33,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:43:33,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [741890203] [2022-04-08 04:43:33,499 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:43:33,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1124928352] [2022-04-08 04:43:33,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1124928352] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:43:33,499 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:43:33,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 04:43:33,499 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:43:33,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1487563005] [2022-04-08 04:43:33,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1487563005] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:43:33,500 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:43:33,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:43:33,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1854099364] [2022-04-08 04:43:33,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:43:33,500 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-08 04:43:33,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:43:33,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:33,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:33,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:43:33,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:33,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:43:33,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:43:33,537 INFO L87 Difference]: Start difference. First operand 125 states and 138 transitions. Second operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:34,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:34,147 INFO L93 Difference]: Finished difference Result 138 states and 153 transitions. [2022-04-08 04:43:34,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:43:34,147 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 49 [2022-04-08 04:43:34,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:34,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:34,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 04:43:34,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:34,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 04:43:34,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 04:43:34,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:34,230 INFO L225 Difference]: With dead ends: 138 [2022-04-08 04:43:34,230 INFO L226 Difference]: Without dead ends: 130 [2022-04-08 04:43:34,231 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:43:34,231 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 3 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:34,231 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 126 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:43:34,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-08 04:43:34,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 122. [2022-04-08 04:43:34,429 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:34,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:34,430 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:34,430 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:34,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:34,433 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-08 04:43:34,433 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-08 04:43:34,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:34,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:34,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-08 04:43:34,434 INFO L87 Difference]: Start difference. First operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 130 states. [2022-04-08 04:43:34,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:34,436 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-04-08 04:43:34,436 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-08 04:43:34,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:34,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:34,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:34,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:34,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 96 states have internal predecessors, (107), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:43:34,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2022-04-08 04:43:34,440 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 49 [2022-04-08 04:43:34,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:34,441 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2022-04-08 04:43:34,441 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:43:34,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 135 transitions. [2022-04-08 04:43:46,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 129 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:46,765 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2022-04-08 04:43:46,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 04:43:46,766 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:46,766 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:46,787 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 04:43:46,975 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:46,975 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:46,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:46,976 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 5 times [2022-04-08 04:43:46,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:46,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1036114700] [2022-04-08 04:43:47,052 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 2 HavocedVariables, 5 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:43:47,053 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:43:47,053 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:43:47,053 INFO L85 PathProgramCache]: Analyzing trace with hash -1528015880, now seen corresponding path program 6 times [2022-04-08 04:43:47,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:47,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2079405837] [2022-04-08 04:43:47,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:47,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:47,062 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:47,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1068195369] [2022-04-08 04:43:47,063 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:43:47,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:47,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:47,064 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:43:47,077 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 04:43:47,127 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:43:47,127 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:47,128 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 04:43:47,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:47,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:43:59,549 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:09,356 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:14,744 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:34,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {13335#true} call ULTIMATE.init(); {13335#true} is VALID [2022-04-08 04:44:34,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {13335#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13335#true} is VALID [2022-04-08 04:44:34,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 04:44:34,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13335#true} {13335#true} #62#return; {13335#true} is VALID [2022-04-08 04:44:34,235 INFO L272 TraceCheckUtils]: 4: Hoare triple {13335#true} call #t~ret9 := main(); {13335#true} is VALID [2022-04-08 04:44:34,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {13335#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:34,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:34,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:34,237 INFO L272 TraceCheckUtils]: 8: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13335#true} is VALID [2022-04-08 04:44:34,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 04:44:34,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 04:44:34,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 04:44:34,238 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13335#true} {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} #58#return; {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:34,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {13355#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13380#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-08 04:44:34,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {13380#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,240 INFO L290 TraceCheckUtils]: 15: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,240 INFO L290 TraceCheckUtils]: 16: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,241 INFO L290 TraceCheckUtils]: 17: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,241 INFO L272 TraceCheckUtils]: 18: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13335#true} is VALID [2022-04-08 04:44:34,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 04:44:34,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 04:44:34,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 04:44:34,242 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,242 INFO L290 TraceCheckUtils]: 23: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,243 INFO L290 TraceCheckUtils]: 24: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,244 INFO L272 TraceCheckUtils]: 28: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13335#true} is VALID [2022-04-08 04:44:34,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {13335#true} ~cond := #in~cond; {13335#true} is VALID [2022-04-08 04:44:34,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {13335#true} assume !(0 == ~cond); {13335#true} is VALID [2022-04-08 04:44:34,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {13335#true} assume true; {13335#true} is VALID [2022-04-08 04:44:34,245 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13335#true} {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} #58#return; {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,245 INFO L290 TraceCheckUtils]: 33: Hoare triple {13384#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13442#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,246 INFO L290 TraceCheckUtils]: 34: Hoare triple {13442#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {13446#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-08 04:44:34,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {13446#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:44:34,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:44:34,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {13450#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(#t~post6 < 100);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13457#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:44:34,248 INFO L272 TraceCheckUtils]: 38: Hoare triple {13457#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13335#true} is VALID [2022-04-08 04:44:34,248 INFO L290 TraceCheckUtils]: 39: Hoare triple {13335#true} ~cond := #in~cond; {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:34,249 INFO L290 TraceCheckUtils]: 40: Hoare triple {13464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:34,249 INFO L290 TraceCheckUtils]: 41: Hoare triple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:34,251 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13468#(not (= |__VERIFIER_assert_#in~cond| 0))} {13457#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #58#return; {13475#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:44:34,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {13475#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {13479#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-08 04:44:36,253 WARN L290 TraceCheckUtils]: 44: Hoare triple {13479#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13483#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-08 04:44:36,256 INFO L272 TraceCheckUtils]: 45: Hoare triple {13483#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:36,256 INFO L290 TraceCheckUtils]: 46: Hoare triple {13487#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13491#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:36,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {13491#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13336#false} is VALID [2022-04-08 04:44:36,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {13336#false} assume !false; {13336#false} is VALID [2022-04-08 04:44:36,257 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 17 proven. 25 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-08 04:44:36,257 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:44:40,867 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful