/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_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:38:44,884 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:38:44,885 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:38:44,907 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:38:44,907 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:38:44,908 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:38:44,909 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:38:44,910 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:38:44,911 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:38:44,912 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:38:44,912 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:38:44,913 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:38:44,913 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:38:44,914 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:38:44,915 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:38:44,916 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:38:44,916 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:38:44,917 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:38:44,918 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:38:44,922 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:38:44,927 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:38:44,929 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:38:44,931 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:38:44,933 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:38:44,935 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:38:44,940 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:38:44,940 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:38:44,940 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:38:44,941 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:38:44,941 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:38:44,942 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:38:44,942 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:38:44,942 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:38:44,942 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:38:44,943 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:38:44,943 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:38:44,944 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:38:44,944 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:38:44,944 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:38:44,944 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:38:44,945 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:38:44,946 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:38:44,947 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 07:38:44,954 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:38:44,955 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:38:44,956 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:38:44,956 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:38:44,957 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:38:44,957 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:38:44,957 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:38:44,957 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:38:44,957 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:38:44,958 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:38:44,958 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:38:44,958 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:38:44,959 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:38:44,959 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 07:38:45,155 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:38:45,173 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:38:45,175 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:38:45,176 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:38:45,177 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:38:45,178 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-15 07:38:45,220 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/06a65cb02/7690483f0acf40068cea005b96020470/FLAG6e8bfc43d [2022-04-15 07:38:45,573 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:38:45,574 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-15 07:38:45,579 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/06a65cb02/7690483f0acf40068cea005b96020470/FLAG6e8bfc43d [2022-04-15 07:38:45,593 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/06a65cb02/7690483f0acf40068cea005b96020470 [2022-04-15 07:38:45,594 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:38:45,596 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:38:45,598 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:38:45,598 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:38:45,600 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:38:45,604 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,605 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a346c5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45, skipping insertion in model container [2022-04-15 07:38:45,605 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,609 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:38:45,619 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:38:45,755 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_valuebound5.c[597,610] [2022-04-15 07:38:45,779 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:38:45,784 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:38:45,791 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_valuebound5.c[597,610] [2022-04-15 07:38:45,809 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:38:45,817 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:38:45,818 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45 WrapperNode [2022-04-15 07:38:45,818 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:38:45,818 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:38:45,819 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:38:45,819 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:38:45,826 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,826 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,832 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,833 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,843 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,847 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,850 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,852 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:38:45,853 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:38:45,853 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:38:45,853 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:38:45,854 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (1/1) ... [2022-04-15 07:38:45,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:38:45,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:45,874 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 07:38:45,901 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:38:45,902 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:38:45,902 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:38:45,902 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:38:45,902 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:38:45,902 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:38:45,902 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:38:45,903 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:38:45,903 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:38:45,903 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:38:45,903 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:38:45,903 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:38:45,904 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:38:45,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 07:38:45,949 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:38:45,950 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:38:46,125 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:38:46,129 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:38:46,130 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:38:46,131 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:38:46 BoogieIcfgContainer [2022-04-15 07:38:46,131 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:38:46,132 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:38:46,132 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:38:46,140 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:38:46,140 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:38:45" (1/3) ... [2022-04-15 07:38:46,141 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78670c0c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:38:46, skipping insertion in model container [2022-04-15 07:38:46,141 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:38:45" (2/3) ... [2022-04-15 07:38:46,141 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78670c0c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:38:46, skipping insertion in model container [2022-04-15 07:38:46,141 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:38:46" (3/3) ... [2022-04-15 07:38:46,142 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound5.c [2022-04-15 07:38:46,145 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:38:46,145 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:38:46,180 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:38:46,186 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 07:38:46,186 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:38:46,199 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:38:46,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:38:46,205 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:46,205 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:38:46,205 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:46,209 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:46,210 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-15 07:38:46,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:46,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1910269235] [2022-04-15 07:38:46,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:46,227 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-15 07:38:46,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:46,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [297960385] [2022-04-15 07:38:46,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:46,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:46,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,372 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:38:46,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,398 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#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); {35#true} is VALID [2022-04-15 07:38:46,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:38:46,399 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:38:46,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:38:46,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,411 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:38:46,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:38:46,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:38:46,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:38:46,412 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 07:38:46,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:38:46,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:38:46,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:38:46,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:38:46,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 07:38:46,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#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); {35#true} is VALID [2022-04-15 07:38:46,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:38:46,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:38:46,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-15 07:38:46,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#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; {35#true} is VALID [2022-04-15 07:38:46,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-15 07:38:46,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:38:46,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:38:46,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:38:46,434 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:38:46,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 07:38:46,435 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-15 07:38:46,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:38:46,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:38:46,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:38:46,435 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:38:46,436 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-15 07:38:46,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-15 07:38:46,437 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-15 07:38:46,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 07:38:46,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 07:38:46,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 07:38:46,438 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:38:46,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:46,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [297960385] [2022-04-15 07:38:46,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [297960385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:46,440 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:46,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:38:46,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:46,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1910269235] [2022-04-15 07:38:46,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1910269235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:46,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:46,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:38:46,445 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1235871345] [2022-04-15 07:38:46,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:46,449 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 07:38:46,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:46,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:38:46,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:46,479 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:38:46,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:46,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:38:46,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:38:46,498 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:38:46,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:46,612 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-15 07:38:46,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:38:46,613 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 07:38:46,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:46,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:38:46,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:38:46,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:38:46,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:38:46,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-15 07:38:46,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:46,715 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:38:46,716 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 07:38:46,718 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:38:46,721 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:46,722 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 07:38:46,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 07:38:46,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 07:38:46,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:46,751 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:38:46,752 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:38:46,756 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:38:46,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:46,761 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:38:46,761 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:38:46,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:46,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:46,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 07:38:46,763 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 07:38:46,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:46,771 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:38:46,771 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:38:46,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:46,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:46,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:46,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:46,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 07:38:46,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-15 07:38:46,775 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-15 07:38:46,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:46,775 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-15 07:38:46,779 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:38:46,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-15 07:38:46,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:46,832 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:38:46,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:38:46,833 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:46,833 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:38:46,834 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:38:46,834 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:46,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:46,834 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-15 07:38:46,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:46,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [68598440] [2022-04-15 07:38:46,835 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:46,835 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-15 07:38:46,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:46,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147056475] [2022-04-15 07:38:46,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:46,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:46,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:46,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1903984638] [2022-04-15 07:38:46,867 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:38:46,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:46,867 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:46,869 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:38:46,870 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 07:38:46,907 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:38:46,907 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:46,915 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:38:46,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:47,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-15 07:38:47,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#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); {273#true} is VALID [2022-04-15 07:38:47,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:38:47,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-15 07:38:47,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-15 07:38:47,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#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; {273#true} is VALID [2022-04-15 07:38:47,124 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {273#true} is VALID [2022-04-15 07:38:47,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:38:47,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:38:47,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:38:47,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-15 07:38:47,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-15 07:38:47,125 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {273#true} is VALID [2022-04-15 07:38:47,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:38:47,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:38:47,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:38:47,125 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-15 07:38:47,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:47,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-15 07:38:47,130 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(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)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:47,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:47,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-15 07:38:47,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-15 07:38:47,131 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:38:47,131 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:38:47,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:47,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147056475] [2022-04-15 07:38:47,132 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:47,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1903984638] [2022-04-15 07:38:47,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1903984638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:47,132 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:47,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:38:47,133 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:47,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [68598440] [2022-04-15 07:38:47,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [68598440] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:47,133 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:47,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:38:47,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93463072] [2022-04-15 07:38:47,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:47,134 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 07:38:47,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:47,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:38:47,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:47,148 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:38:47,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:47,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:38:47,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:38:47,149 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:38:47,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:47,320 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:38:47,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:38:47,320 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 07:38:47,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:47,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:38:47,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:38:47,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:38:47,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:38:47,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:38:47,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:47,361 INFO L225 Difference]: With dead ends: 39 [2022-04-15 07:38:47,361 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 07:38:47,361 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:38:47,362 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:47,362 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:38:47,363 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 07:38:47,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-15 07:38:47,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:47,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:38:47,373 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:38:47,373 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:38:47,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:47,375 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:38:47,375 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:38:47,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:47,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:47,376 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:38:47,376 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 07:38:47,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:47,377 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:38:47,378 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:38:47,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:47,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:47,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:47,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:47,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 07:38:47,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-15 07:38:47,380 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-15 07:38:47,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:47,380 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-15 07:38:47,380 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 07:38:47,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-15 07:38:47,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:47,409 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-15 07:38:47,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:38:47,410 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:47,410 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:38:47,428 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 07:38:47,623 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:47,624 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:47,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:47,624 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-15 07:38:47,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:47,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [433701780] [2022-04-15 07:38:47,625 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:47,625 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-15 07:38:47,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:47,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1717643947] [2022-04-15 07:38:47,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:47,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:47,650 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:47,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1241272948] [2022-04-15 07:38:47,651 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:38:47,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:47,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:47,652 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:38:47,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 07:38:47,700 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:38:47,700 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:47,701 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:38:47,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:47,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:48,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 07:38:48,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#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); {567#true} is VALID [2022-04-15 07:38:48,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 07:38:48,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 07:38:48,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#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; {567#true} is VALID [2022-04-15 07:38:48,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:48,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:48,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:48,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,022 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 07:38:48,022 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-15 07:38:48,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:48,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:38:48,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:48,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:38:48,024 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:38:48,024 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:38:48,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:38:48,025 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:48,025 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:48,025 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:48,026 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,026 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:38:48,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:38:48,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:38:48,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:38:48,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:38:48,029 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) 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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:48,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:48,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 07:38:48,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 07:38:48,031 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 07:38:48,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:48,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 07:38:48,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 07:38:48,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:48,254 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:48,255 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:38:48,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:48,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* 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; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:38:48,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* 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); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:48,260 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:48,260 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:48,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:48,261 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* 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)); {567#true} is VALID [2022-04-15 07:38:48,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:48,263 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:48,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-15 07:38:48,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:48,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:48,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:48,264 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-15 07:38:48,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 07:38:48,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:38:48,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:38:48,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-15 07:38:48,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#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; {567#true} is VALID [2022-04-15 07:38:48,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 07:38:48,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 07:38:48,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:38:48,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#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); {567#true} is VALID [2022-04-15 07:38:48,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 07:38:48,265 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:38:48,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:48,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1717643947] [2022-04-15 07:38:48,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:48,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1241272948] [2022-04-15 07:38:48,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1241272948] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:48,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:48,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-15 07:38:48,266 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:48,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [433701780] [2022-04-15 07:38:48,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [433701780] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:48,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:48,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:38:48,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1082585154] [2022-04-15 07:38:48,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:48,267 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:38:48,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:48,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:48,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:48,287 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:38:48,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:48,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:38:48,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:38:48,288 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:48,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,775 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-15 07:38:48,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:38:48,776 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:38:48,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:48,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:48,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 07:38:48,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:48,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 07:38:48,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-15 07:38:48,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:48,816 INFO L225 Difference]: With dead ends: 48 [2022-04-15 07:38:48,816 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 07:38:48,817 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:38:48,817 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:48,818 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:38:48,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 07:38:48,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-15 07:38:48,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:48,854 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:38:48,855 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:38:48,855 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:38:48,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,857 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 07:38:48,857 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 07:38:48,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:48,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:48,857 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-15 07:38:48,857 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-15 07:38:48,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,859 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 07:38:48,859 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 07:38:48,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:48,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:48,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:48,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:48,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:38:48,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 07:38:48,861 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-15 07:38:48,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:48,861 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 07:38:48,862 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:48,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 07:38:48,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:48,902 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 07:38:48,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:38:48,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:48,903 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:38:48,918 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 07:38:49,111 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 07:38:49,111 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:49,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:49,112 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-15 07:38:49,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:49,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [832804247] [2022-04-15 07:38:49,112 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:49,113 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-15 07:38:49,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:49,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [282755249] [2022-04-15 07:38:49,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:49,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:49,125 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:49,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2114517834] [2022-04-15 07:38:49,126 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:38:49,126 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:49,126 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:49,127 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:38:49,128 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 07:38:49,161 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:38:49,161 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:49,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:38:49,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:49,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:49,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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); {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#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; {1048#true} is VALID [2022-04-15 07:38:49,358 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,359 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 07:38:49,360 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:49,361 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:49,361 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(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)); {1048#true} is VALID [2022-04-15 07:38:49,361 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,361 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,361 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,362 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:49,362 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(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); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:49,363 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:38:49,363 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:49,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-15 07:38:49,365 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~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)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:49,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:49,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 07:38:49,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 07:38:49,366 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:38:49,366 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:49,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 07:38:49,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 07:38:49,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:49,550 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 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)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:49,551 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:38:49,675 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:49,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:38:49,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(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 (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:38:49,678 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(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 (<= main_~x~0 main_~X~0)))} #65#return; {1177#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:38:49,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,678 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,678 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,678 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(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 (<= 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)); {1048#true} is VALID [2022-04-15 07:38:49,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(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 (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:38:49,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:38:49,680 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#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; {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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); {1048#true} is VALID [2022-04-15 07:38:49,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 07:38:49,682 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:38:49,682 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:49,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [282755249] [2022-04-15 07:38:49,682 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:49,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2114517834] [2022-04-15 07:38:49,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2114517834] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:49,682 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:49,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-15 07:38:49,682 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:49,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [832804247] [2022-04-15 07:38:49,683 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [832804247] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:49,683 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:49,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:38:49,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1352040037] [2022-04-15 07:38:49,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:49,683 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:38:49,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:49,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:49,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:49,705 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:38:49,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:49,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:38:49,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 07:38:49,706 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:50,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:50,093 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-15 07:38:50,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:38:50,093 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 07:38:50,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:50,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:50,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 07:38:50,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:50,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 07:38:50,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-15 07:38:50,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:50,137 INFO L225 Difference]: With dead ends: 56 [2022-04-15 07:38:50,137 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 07:38:50,138 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 07:38:50,138 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:50,138 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:38:50,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 07:38:50,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-15 07:38:50,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:50,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:38:50,173 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:38:50,174 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:38:50,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:50,176 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 07:38:50,176 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 07:38:50,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:50,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:50,177 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 07:38:50,177 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 07:38:50,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:50,179 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 07:38:50,179 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 07:38:50,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:50,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:50,180 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:50,180 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:50,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 07:38:50,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-15 07:38:50,182 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-15 07:38:50,182 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:50,183 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-15 07:38:50,183 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 07:38:50,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-15 07:38:50,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:50,238 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 07:38:50,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:38:50,239 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:50,240 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:38:50,282 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 07:38:50,459 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:50,460 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:50,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:50,460 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-15 07:38:50,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:50,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [296202208] [2022-04-15 07:38:50,460 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:50,461 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-15 07:38:50,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:50,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [245146909] [2022-04-15 07:38:50,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:50,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:50,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:50,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [668520755] [2022-04-15 07:38:50,472 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:38:50,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:50,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:50,473 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:38:50,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 07:38:50,511 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:38:50,511 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:50,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:38:50,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:50,537 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:39:06,915 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:16,953 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:20,991 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:29,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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); {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#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; {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:39:29,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:29,198 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 07:39:29,199 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:29,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:29,199 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(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)); {1576#true} is VALID [2022-04-15 07:39:29,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:29,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:29,200 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:29,201 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:29,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:29,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 07:39:29,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:39:29,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:39:29,203 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* 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)); {1576#true} is VALID [2022-04-15 07:39:29,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:29,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:29,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:29,205 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= 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)) (<= 0 main_~X~0))} is VALID [2022-04-15 07:39:29,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= 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)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= 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)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:39:29,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= 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)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< 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))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (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) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (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))))))} is VALID [2022-04-15 07:39:29,213 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< 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))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (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) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (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))))))} 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)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:39:29,213 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:29,214 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 07:39:29,214 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 07:39:29,214 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:39:29,214 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:39,842 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 07:39:39,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 07:39:39,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:39,844 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* 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)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:39:39,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 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; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:39:39,845 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(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); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:39:39,846 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(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)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:39:39,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:39,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:39,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:39:39,847 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(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)); {1576#true} is VALID [2022-04-15 07:39:39,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:39:39,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:39:39,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-15 07:39:39,854 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-15 07:39:39,854 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-15 07:39:39,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:39,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:39:39,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:39:39,854 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:39:39,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:39:39,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#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; {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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); {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 07:39:39,856 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:39:39,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:39,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [245146909] [2022-04-15 07:39:39,857 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:39,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [668520755] [2022-04-15 07:39:39,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [668520755] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:39:39,857 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:39:39,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:39:39,857 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:39,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [296202208] [2022-04-15 07:39:39,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [296202208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:39,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:39,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:39:39,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057796300] [2022-04-15 07:39:39,858 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:39,858 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 07:39:39,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:39,858 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:39:39,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:39,908 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:39:39,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:39,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:39:39,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:39:39,909 INFO L87 Difference]: Start difference. First operand 50 states and 54 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:39:41,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:41,114 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-15 07:39:41,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:39:41,114 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 07:39:41,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:41,114 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:39:41,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 07:39:41,116 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:39:41,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 07:39:41,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-15 07:39:41,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:41,164 INFO L225 Difference]: With dead ends: 61 [2022-04-15 07:39:41,164 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 07:39:41,165 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-15 07:39:41,165 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:41,166 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:39:41,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 07:39:41,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-15 07:39:41,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:41,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:39:41,204 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:39:41,204 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:39:41,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:41,205 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 07:39:41,206 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 07:39:41,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:41,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:41,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-15 07:39:41,206 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-15 07:39:41,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:41,207 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 07:39:41,208 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 07:39:41,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:41,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:41,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:41,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:41,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 07:39:41,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 07:39:41,209 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-15 07:39:41,209 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:41,209 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 07:39:41,209 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:39:41,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 07:39:41,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:41,267 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 07:39:41,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:39:41,268 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:41,268 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:39:41,284 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-15 07:39:41,468 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:41,468 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:41,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:41,469 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-15 07:39:41,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:41,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [352245557] [2022-04-15 07:39:41,469 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:39:41,469 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-15 07:39:41,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:41,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [314104520] [2022-04-15 07:39:41,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:41,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:41,479 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:41,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [645729909] [2022-04-15 07:39:41,479 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:39:41,480 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:41,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:41,480 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:39:41,481 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 07:39:41,514 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:39:41,514 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:41,515 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-15 07:39:41,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:41,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:01,849 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:07,863 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:11,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 07:40:11,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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); {2155#true} is VALID [2022-04-15 07:40:11,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:11,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 07:40:11,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 07:40:11,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#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; {2155#true} is VALID [2022-04-15 07:40:11,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:11,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:40:11,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:11,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:11,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2155#true} #61#return; {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:11,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:11,598 INFO L272 TraceCheckUtils]: 12: Hoare triple {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:11,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:40:11,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:11,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:11,599 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {2211#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:40:11,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {2211#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:40:11,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:40:11,600 INFO L272 TraceCheckUtils]: 19: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:11,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:40:11,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:40:11,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:11,601 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} #65#return; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:40:11,601 INFO L290 TraceCheckUtils]: 24: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-15 07:40:11,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2240#(and (= main_~x~0 0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:11,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {2240#(and (= main_~x~0 0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2244#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:11,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {2244#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:11,603 INFO L272 TraceCheckUtils]: 28: Hoare triple {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) 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)); {2155#true} is VALID [2022-04-15 07:40:11,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:11,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:11,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:11,605 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {2266#(and (<= 1 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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:11,606 INFO L290 TraceCheckUtils]: 33: Hoare triple {2266#(and (<= 1 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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {2266#(and (<= 1 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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:11,606 INFO L290 TraceCheckUtils]: 34: Hoare triple {2266#(and (<= 1 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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2273#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:40:11,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {2273#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5) (= main_~y~0 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2277#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* (* 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))))} is VALID [2022-04-15 07:40:11,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {2277#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* (* 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))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2281#(and (= main_~xy~0 0) (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) (= main_~Y~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) (<= 2 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:11,614 INFO L272 TraceCheckUtils]: 37: Hoare triple {2281#(and (= main_~xy~0 0) (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) (= main_~Y~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) (<= 2 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:11,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2289#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:11,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {2289#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 07:40:11,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 07:40:11,615 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:40:11,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:15,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 07:40:15,054 INFO L290 TraceCheckUtils]: 39: Hoare triple {2289#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 07:40:15,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2289#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:15,056 INFO L272 TraceCheckUtils]: 37: Hoare triple {2305#(= (+ (* 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)); {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:15,057 INFO L290 TraceCheckUtils]: 36: Hoare triple {2309#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2305#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:40:15,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {2313#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2309#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:15,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {2317#(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; {2313#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:40:15,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {2317#(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); {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:15,060 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2324#(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)))))} #65#return; {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:15,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:15,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {2334#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:15,061 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2334#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:15,061 INFO L272 TraceCheckUtils]: 28: Hoare triple {2324#(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)); {2155#true} is VALID [2022-04-15 07:40:15,062 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2324#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:15,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {2155#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2155#true} is VALID [2022-04-15 07:40:15,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {2155#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#true} is VALID [2022-04-15 07:40:15,062 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L272 TraceCheckUtils]: 19: Hoare triple {2155#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:40:15,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#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; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:40:15,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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); {2155#true} is VALID [2022-04-15 07:40:15,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 07:40:15,065 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 07:40:15,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:15,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [314104520] [2022-04-15 07:40:15,065 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:15,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [645729909] [2022-04-15 07:40:15,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [645729909] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:15,065 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:15,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-15 07:40:15,066 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:15,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [352245557] [2022-04-15 07:40:15,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [352245557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:15,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:15,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 07:40:15,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [185906802] [2022-04-15 07:40:15,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:15,066 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:40:15,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:15,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:15,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:15,106 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 07:40:15,106 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:15,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 07:40:15,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:40:15,107 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:17,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:17,368 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-15 07:40:17,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 07:40:17,368 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:40:17,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:17,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:17,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-15 07:40:17,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:17,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-15 07:40:17,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 80 transitions. [2022-04-15 07:40:17,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:17,454 INFO L225 Difference]: With dead ends: 81 [2022-04-15 07:40:17,454 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 07:40:17,454 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=141, Invalid=729, Unknown=0, NotChecked=0, Total=870 [2022-04-15 07:40:17,455 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 39 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 495 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 537 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 495 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:17,455 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 147 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 495 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:40:17,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 07:40:17,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2022-04-15 07:40:17,534 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:17,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:40:17,535 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:40:17,535 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:40:17,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:17,536 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-15 07:40:17,536 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-15 07:40:17,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:17,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:17,537 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 07:40:17,537 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 07:40:17,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:17,538 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-15 07:40:17,538 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-15 07:40:17,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:17,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:17,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:17,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:17,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:40:17,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-15 07:40:17,540 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-15 07:40:17,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:17,540 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-15 07:40:17,541 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:17,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-15 07:40:17,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:17,617 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-15 07:40:17,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:40:17,617 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:17,617 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:17,633 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:17,817 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:17,818 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:17,818 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:17,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-15 07:40:17,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:17,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [751364292] [2022-04-15 07:40:17,831 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:17,831 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-15 07:40:17,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:17,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1586899729] [2022-04-15 07:40:17,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:17,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:17,842 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:17,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [590593041] [2022-04-15 07:40:17,842 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:40:17,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:17,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:17,847 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:17,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 07:40:17,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:40:17,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:17,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 07:40:17,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:17,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:18,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {2842#true} call ULTIMATE.init(); {2842#true} is VALID [2022-04-15 07:40:18,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {2842#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); {2842#true} is VALID [2022-04-15 07:40:18,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:18,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2842#true} {2842#true} #69#return; {2842#true} is VALID [2022-04-15 07:40:18,474 INFO L272 TraceCheckUtils]: 4: Hoare triple {2842#true} call #t~ret8 := main(); {2842#true} is VALID [2022-04-15 07:40:18,474 INFO L290 TraceCheckUtils]: 5: Hoare triple {2842#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; {2842#true} is VALID [2022-04-15 07:40:18,474 INFO L272 TraceCheckUtils]: 6: Hoare triple {2842#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-15 07:40:18,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {2842#true} ~cond := #in~cond; {2868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:40:18,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:18,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:40:18,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#(not (= |assume_abort_if_not_#in~cond| 0))} {2842#true} #61#return; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,476 INFO L272 TraceCheckUtils]: 12: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-15 07:40:18,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-15 07:40:18,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-15 07:40:18,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:18,476 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2842#true} {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,477 INFO L290 TraceCheckUtils]: 17: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,477 INFO L290 TraceCheckUtils]: 18: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,477 INFO L272 TraceCheckUtils]: 19: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= 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)); {2842#true} is VALID [2022-04-15 07:40:18,477 INFO L290 TraceCheckUtils]: 20: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-15 07:40:18,477 INFO L290 TraceCheckUtils]: 21: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-15 07:40:18,477 INFO L290 TraceCheckUtils]: 22: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:18,478 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2842#true} {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #65#return; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,479 INFO L290 TraceCheckUtils]: 25: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2926#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,479 INFO L290 TraceCheckUtils]: 26: Hoare triple {2926#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:40:18,481 INFO L272 TraceCheckUtils]: 28: Hoare triple {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)); {2842#true} is VALID [2022-04-15 07:40:18,482 INFO L290 TraceCheckUtils]: 29: Hoare triple {2842#true} ~cond := #in~cond; {2941#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:18,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {2941#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:18,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:18,488 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:40:18,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2958#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {2958#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2962#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {2962#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2966#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-15 07:40:18,491 INFO L272 TraceCheckUtils]: 37: Hoare triple {2966#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:18,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:18,492 INFO L290 TraceCheckUtils]: 39: Hoare triple {2974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2843#false} is VALID [2022-04-15 07:40:18,492 INFO L290 TraceCheckUtils]: 40: Hoare triple {2843#false} assume !false; {2843#false} is VALID [2022-04-15 07:40:18,492 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:40:18,492 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:22,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {2843#false} assume !false; {2843#false} is VALID [2022-04-15 07:40:22,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {2974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2843#false} is VALID [2022-04-15 07:40:22,920 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:22,920 INFO L272 TraceCheckUtils]: 37: Hoare triple {2990#(= (+ (* 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)); {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:22,921 INFO L290 TraceCheckUtils]: 36: Hoare triple {2994#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2990#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:40:22,924 INFO L290 TraceCheckUtils]: 35: Hoare triple {2998#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2994#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:22,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {3002#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2998#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:40:22,926 INFO L290 TraceCheckUtils]: 33: Hoare triple {3002#(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); {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:22,927 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} {3009#(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)))))} #65#return; {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:22,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:22,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {3019#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:22,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {2842#true} ~cond := #in~cond; {3019#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:22,928 INFO L272 TraceCheckUtils]: 28: Hoare triple {3009#(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)); {2842#true} is VALID [2022-04-15 07:40:22,928 INFO L290 TraceCheckUtils]: 27: Hoare triple {2842#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3009#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:40:22,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {2842#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2842#true} is VALID [2022-04-15 07:40:22,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {2842#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 24: Hoare triple {2842#true} assume !!(~x~0 <= ~X~0); {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2842#true} {2842#true} #65#return; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 22: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 21: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L272 TraceCheckUtils]: 19: Hoare triple {2842#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {2842#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {2842#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2842#true} {2842#true} #63#return; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L272 TraceCheckUtils]: 12: Hoare triple {2842#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-15 07:40:22,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {2842#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2842#true} {2842#true} #61#return; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {2842#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {2842#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; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {2842#true} call #t~ret8 := main(); {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2842#true} {2842#true} #69#return; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {2842#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); {2842#true} is VALID [2022-04-15 07:40:22,930 INFO L272 TraceCheckUtils]: 0: Hoare triple {2842#true} call ULTIMATE.init(); {2842#true} is VALID [2022-04-15 07:40:22,931 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 07:40:22,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:22,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1586899729] [2022-04-15 07:40:22,931 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:22,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [590593041] [2022-04-15 07:40:22,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [590593041] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:22,931 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:22,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-15 07:40:22,931 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:22,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [751364292] [2022-04-15 07:40:22,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [751364292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:22,932 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:22,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:40:22,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [631134429] [2022-04-15 07:40:22,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:22,932 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:40:22,932 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:22,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:22,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:22,961 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:40:22,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:22,962 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:40:22,962 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:40:22,962 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:23,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:23,820 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2022-04-15 07:40:23,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:40:23,820 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-15 07:40:23,820 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:23,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:23,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-15 07:40:23,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:23,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-15 07:40:23,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 70 transitions. [2022-04-15 07:40:23,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:23,879 INFO L225 Difference]: With dead ends: 83 [2022-04-15 07:40:23,879 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 07:40:23,879 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:40:23,880 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 353 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 353 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:23,880 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 140 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 353 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:40:23,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 07:40:23,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-15 07:40:23,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:23,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:40:23,974 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:40:23,975 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:40:23,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:23,976 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-15 07:40:23,976 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-15 07:40:23,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:23,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:23,977 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 07:40:23,977 INFO L87 Difference]: Start difference. First operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 07:40:23,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:23,978 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-15 07:40:23,978 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-15 07:40:23,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:23,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:23,978 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:23,978 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:23,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 07:40:23,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 75 transitions. [2022-04-15 07:40:23,980 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 75 transitions. Word has length 41 [2022-04-15 07:40:23,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:23,980 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 75 transitions. [2022-04-15 07:40:23,980 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 07:40:23,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 75 transitions. [2022-04-15 07:40:24,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:24,077 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-15 07:40:24,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:40:24,078 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:24,078 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:24,093 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 07:40:24,280 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:24,280 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:24,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:24,281 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-15 07:40:24,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:24,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366811959] [2022-04-15 07:40:24,281 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:24,281 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-15 07:40:24,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:24,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687660714] [2022-04-15 07:40:24,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:24,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:24,310 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:24,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [288387829] [2022-04-15 07:40:24,311 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:40:24,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:24,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:24,312 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:24,312 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 07:40:24,342 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:40:24,342 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:24,343 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 07:40:24,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:24,351 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:24,604 INFO L272 TraceCheckUtils]: 0: Hoare triple {3563#true} call ULTIMATE.init(); {3563#true} is VALID [2022-04-15 07:40:24,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {3563#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); {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3563#true} {3563#true} #69#return; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {3563#true} call #t~ret8 := main(); {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {3563#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; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L272 TraceCheckUtils]: 6: Hoare triple {3563#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3563#true} {3563#true} #61#return; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {3563#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L272 TraceCheckUtils]: 12: Hoare triple {3563#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:24,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:24,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:24,606 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3563#true} {3563#true} #63#return; {3563#true} is VALID [2022-04-15 07:40:24,606 INFO L290 TraceCheckUtils]: 17: Hoare triple {3563#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:24,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:24,606 INFO L272 TraceCheckUtils]: 19: Hoare triple {3619#(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)); {3563#true} is VALID [2022-04-15 07:40:24,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:24,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:24,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:24,607 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3563#true} {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:24,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {3619#(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); {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:24,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {3619#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3644#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:24,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {3644#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:24,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:40:24,609 INFO L272 TraceCheckUtils]: 28: Hoare triple {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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)); {3563#true} is VALID [2022-04-15 07:40:24,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {3563#true} ~cond := #in~cond; {3659#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:24,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {3659#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:24,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:24,615 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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)))} #65#return; {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:24,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:24,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3676#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-15 07:40:24,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {3676#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3680#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-15 07:40:24,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {3680#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3684#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 07:40:24,618 INFO L272 TraceCheckUtils]: 37: Hoare triple {3684#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~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)); {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:24,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:24,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {3692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3564#false} is VALID [2022-04-15 07:40:24,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {3564#false} assume !false; {3564#false} is VALID [2022-04-15 07:40:24,618 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:40:24,618 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:28,987 INFO L290 TraceCheckUtils]: 40: Hoare triple {3564#false} assume !false; {3564#false} is VALID [2022-04-15 07:40:28,988 INFO L290 TraceCheckUtils]: 39: Hoare triple {3692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3564#false} is VALID [2022-04-15 07:40:28,988 INFO L290 TraceCheckUtils]: 38: Hoare triple {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:28,989 INFO L272 TraceCheckUtils]: 37: Hoare triple {3708#(= (+ (* 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)); {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:28,990 INFO L290 TraceCheckUtils]: 36: Hoare triple {3712#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3708#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:40:28,991 INFO L290 TraceCheckUtils]: 35: Hoare triple {3716#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:28,992 INFO L290 TraceCheckUtils]: 34: Hoare triple {3712#(= (+ (* 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; {3716#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:40:28,992 INFO L290 TraceCheckUtils]: 33: Hoare triple {3712#(= (+ (* 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); {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:28,993 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} {3726#(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)))))} #65#return; {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:28,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:28,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {3736#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:28,994 INFO L290 TraceCheckUtils]: 29: Hoare triple {3563#true} ~cond := #in~cond; {3736#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:28,994 INFO L272 TraceCheckUtils]: 28: Hoare triple {3726#(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)); {3563#true} is VALID [2022-04-15 07:40:28,995 INFO L290 TraceCheckUtils]: 27: Hoare triple {3563#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3726#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:40:28,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {3563#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3563#true} is VALID [2022-04-15 07:40:28,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {3563#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3563#true} is VALID [2022-04-15 07:40:28,995 INFO L290 TraceCheckUtils]: 24: Hoare triple {3563#true} assume !!(~x~0 <= ~X~0); {3563#true} is VALID [2022-04-15 07:40:28,995 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3563#true} {3563#true} #65#return; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 22: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L272 TraceCheckUtils]: 19: Hoare triple {3563#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {3563#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {3563#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3563#true} {3563#true} #63#return; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L272 TraceCheckUtils]: 12: Hoare triple {3563#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {3563#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3563#true} {3563#true} #61#return; {3563#true} is VALID [2022-04-15 07:40:28,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L272 TraceCheckUtils]: 6: Hoare triple {3563#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {3563#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; {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {3563#true} call #t~ret8 := main(); {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3563#true} {3563#true} #69#return; {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {3563#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); {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L272 TraceCheckUtils]: 0: Hoare triple {3563#true} call ULTIMATE.init(); {3563#true} is VALID [2022-04-15 07:40:28,997 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 07:40:28,998 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:28,998 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1687660714] [2022-04-15 07:40:28,998 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:28,998 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [288387829] [2022-04-15 07:40:28,998 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [288387829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:28,998 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:28,998 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:40:28,998 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:28,998 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366811959] [2022-04-15 07:40:28,998 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366811959] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:28,998 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:28,998 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:40:28,998 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1002784820] [2022-04-15 07:40:28,999 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:28,999 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:40:29,000 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:29,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:29,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:29,043 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:40:29,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:29,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:40:29,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:40:29,044 INFO L87 Difference]: Start difference. First operand 70 states and 75 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:30,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:30,058 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-15 07:40:30,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:40:30,059 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:40:30,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:30,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:30,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:40:30,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:30,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:40:30,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-15 07:40:30,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:30,106 INFO L225 Difference]: With dead ends: 84 [2022-04-15 07:40:30,106 INFO L226 Difference]: Without dead ends: 82 [2022-04-15 07:40:30,107 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:40:30,107 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 344 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 349 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 344 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:30,107 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 192 Invalid, 349 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 344 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 07:40:30,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-15 07:40:30,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 78. [2022-04-15 07:40:30,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:30,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:30,213 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:30,215 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:30,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:30,217 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-15 07:40:30,217 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-15 07:40:30,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:30,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:30,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-15 07:40:30,224 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-15 07:40:30,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:30,225 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-15 07:40:30,225 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-15 07:40:30,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:30,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:30,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:30,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:30,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:30,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-15 07:40:30,229 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 41 [2022-04-15 07:40:30,230 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:30,230 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-15 07:40:30,230 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:30,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-15 07:40:30,328 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-15 07:40:30,328 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-15 07:40:30,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:40:30,330 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:30,330 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:30,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:30,543 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:30,543 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:30,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:30,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-15 07:40:30,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:30,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1093114637] [2022-04-15 07:40:30,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:30,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-15 07:40:30,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:30,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1647121939] [2022-04-15 07:40:30,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:30,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:30,554 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:30,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1685720037] [2022-04-15 07:40:30,554 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:40:30,554 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:30,554 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:30,555 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:30,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 07:40:30,594 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:40:30,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:30,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 07:40:30,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:30,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:30,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {4320#true} call ULTIMATE.init(); {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {4320#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); {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4320#true} {4320#true} #69#return; {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {4320#true} call #t~ret8 := main(); {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {4320#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; {4320#true} is VALID [2022-04-15 07:40:30,920 INFO L272 TraceCheckUtils]: 6: Hoare triple {4320#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4320#true} {4320#true} #61#return; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {4320#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L272 TraceCheckUtils]: 12: Hoare triple {4320#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:30,921 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4320#true} {4320#true} #63#return; {4320#true} is VALID [2022-04-15 07:40:30,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {4320#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:30,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:30,922 INFO L272 TraceCheckUtils]: 19: Hoare triple {4376#(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)); {4320#true} is VALID [2022-04-15 07:40:30,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:30,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:30,922 INFO L290 TraceCheckUtils]: 22: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:30,923 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4320#true} {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:30,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {4376#(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); {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:30,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {4376#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4401#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:30,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {4401#(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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:30,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {4405#(and (= (+ (- 1) 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))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:30,925 INFO L272 TraceCheckUtils]: 28: Hoare triple {4405#(and (= (+ (- 1) 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))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4320#true} is VALID [2022-04-15 07:40:30,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:30,925 INFO L290 TraceCheckUtils]: 30: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:30,925 INFO L290 TraceCheckUtils]: 31: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:30,926 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4320#true} {4405#(and (= (+ (- 1) 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))))} #65#return; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:30,926 INFO L290 TraceCheckUtils]: 33: Hoare triple {4405#(and (= (+ (- 1) 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))))} assume !!(~x~0 <= ~X~0); {4427#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:30,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {4427#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~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))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4431#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-15 07:40:30,928 INFO L290 TraceCheckUtils]: 35: Hoare triple {4431#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4435#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:30,928 INFO L290 TraceCheckUtils]: 36: Hoare triple {4435#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4439#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} is VALID [2022-04-15 07:40:30,929 INFO L272 TraceCheckUtils]: 37: Hoare triple {4439#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~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)); {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:30,929 INFO L290 TraceCheckUtils]: 38: Hoare triple {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:30,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {4447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4321#false} is VALID [2022-04-15 07:40:30,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {4321#false} assume !false; {4321#false} is VALID [2022-04-15 07:40:30,930 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:40:30,930 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:31,227 INFO L290 TraceCheckUtils]: 40: Hoare triple {4321#false} assume !false; {4321#false} is VALID [2022-04-15 07:40:31,228 INFO L290 TraceCheckUtils]: 39: Hoare triple {4447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4321#false} is VALID [2022-04-15 07:40:31,228 INFO L290 TraceCheckUtils]: 38: Hoare triple {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:31,229 INFO L272 TraceCheckUtils]: 37: Hoare triple {4463#(= (+ (* 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)); {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:31,229 INFO L290 TraceCheckUtils]: 36: Hoare triple {4467#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4463#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:40:31,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {4471#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:31,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {4467#(= (+ (* 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4471#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:40:31,233 INFO L290 TraceCheckUtils]: 33: Hoare triple {4478#(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 (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:31,233 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4320#true} {4478#(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 (<= main_~x~0 main_~X~0)))} #65#return; {4478#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:31,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:31,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:31,255 INFO L290 TraceCheckUtils]: 29: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:31,255 INFO L272 TraceCheckUtils]: 28: Hoare triple {4478#(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 (<= 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)); {4320#true} is VALID [2022-04-15 07:40:31,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {4478#(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 (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4478#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:31,257 INFO L290 TraceCheckUtils]: 26: Hoare triple {4500#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4478#(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 (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:40:31,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {4504#(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 1) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4500#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:40:31,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {4504#(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 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {4504#(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 1) main_~X~0)))} is VALID [2022-04-15 07:40:31,260 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4320#true} {4504#(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 1) main_~X~0)))} #65#return; {4504#(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 1) main_~X~0)))} is VALID [2022-04-15 07:40:31,260 INFO L290 TraceCheckUtils]: 22: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:31,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:31,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:31,260 INFO L272 TraceCheckUtils]: 19: Hoare triple {4504#(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 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)); {4320#true} is VALID [2022-04-15 07:40:31,261 INFO L290 TraceCheckUtils]: 18: Hoare triple {4504#(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 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4504#(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 1) main_~X~0)))} is VALID [2022-04-15 07:40:31,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {4320#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4504#(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 1) main_~X~0)))} is VALID [2022-04-15 07:40:31,264 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4320#true} {4320#true} #63#return; {4320#true} is VALID [2022-04-15 07:40:31,264 INFO L290 TraceCheckUtils]: 15: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L272 TraceCheckUtils]: 12: Hoare triple {4320#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {4320#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4320#true} {4320#true} #61#return; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {4320#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {4320#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; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {4320#true} call #t~ret8 := main(); {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4320#true} {4320#true} #69#return; {4320#true} is VALID [2022-04-15 07:40:31,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-15 07:40:31,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {4320#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); {4320#true} is VALID [2022-04-15 07:40:31,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {4320#true} call ULTIMATE.init(); {4320#true} is VALID [2022-04-15 07:40:31,266 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:40:31,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:31,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1647121939] [2022-04-15 07:40:31,266 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:31,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1685720037] [2022-04-15 07:40:31,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1685720037] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:31,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:31,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 17 [2022-04-15 07:40:31,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:31,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1093114637] [2022-04-15 07:40:31,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1093114637] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:31,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:31,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:40:31,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [231029261] [2022-04-15 07:40:31,267 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:31,267 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:40:31,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:31,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:31,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:31,292 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:40:31,292 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:31,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:40:31,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:40:31,293 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:32,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:32,006 INFO L93 Difference]: Finished difference Result 91 states and 99 transitions. [2022-04-15 07:40:32,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:40:32,006 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 07:40:32,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:32,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:32,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 07:40:32,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:32,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 07:40:32,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-15 07:40:32,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:32,053 INFO L225 Difference]: With dead ends: 91 [2022-04-15 07:40:32,053 INFO L226 Difference]: Without dead ends: 89 [2022-04-15 07:40:32,053 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 62 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=277, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:40:32,054 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:32,054 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:40:32,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-15 07:40:32,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-15 07:40:32,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:32,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:32,166 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:32,166 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:32,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:32,168 INFO L93 Difference]: Finished difference Result 89 states and 97 transitions. [2022-04-15 07:40:32,168 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 97 transitions. [2022-04-15 07:40:32,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:32,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:32,169 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-15 07:40:32,169 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-15 07:40:32,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:32,171 INFO L93 Difference]: Finished difference Result 89 states and 97 transitions. [2022-04-15 07:40:32,171 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 97 transitions. [2022-04-15 07:40:32,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:32,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:32,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:32,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:32,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:32,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-15 07:40:32,173 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 41 [2022-04-15 07:40:32,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:32,174 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-15 07:40:32,174 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 07:40:32,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-15 07:40:32,304 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-15 07:40:32,305 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-15 07:40:32,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 07:40:32,305 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:32,305 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:32,321 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-15 07:40:32,519 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 07:40:32,519 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:32,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:32,520 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-15 07:40:32,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:32,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [433595448] [2022-04-15 07:40:32,520 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:32,520 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 2 times [2022-04-15 07:40:32,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:32,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718783646] [2022-04-15 07:40:32,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:32,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:32,534 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:32,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1417209056] [2022-04-15 07:40:32,534 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:40:32,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:32,534 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:32,543 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:32,544 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 07:40:32,580 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:40:32,581 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:32,581 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:40:32,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:32,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:34,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {5102#true} call ULTIMATE.init(); {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {5102#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); {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5102#true} {5102#true} #69#return; {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {5102#true} call #t~ret8 := main(); {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {5102#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; {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {5102#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-15 07:40:34,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5102#true} {5102#true} #61#return; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {5102#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L272 TraceCheckUtils]: 12: Hoare triple {5102#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5102#true} {5102#true} #63#return; {5102#true} is VALID [2022-04-15 07:40:34,390 INFO L290 TraceCheckUtils]: 17: Hoare triple {5102#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:40:34,391 INFO L290 TraceCheckUtils]: 18: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:40:34,391 INFO L272 TraceCheckUtils]: 19: Hoare triple {5158#(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)); {5102#true} is VALID [2022-04-15 07:40:34,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,392 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5102#true} {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:40:34,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:40:34,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {5158#(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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5183#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 07:40:34,394 INFO L290 TraceCheckUtils]: 26: Hoare triple {5183#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 07:40:34,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 07:40:34,394 INFO L272 TraceCheckUtils]: 28: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-15 07:40:34,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,395 INFO L290 TraceCheckUtils]: 30: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,395 INFO L290 TraceCheckUtils]: 31: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,395 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5102#true} {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 07:40:34,395 INFO L290 TraceCheckUtils]: 33: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 07:40:34,396 INFO L290 TraceCheckUtils]: 34: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5212#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-15 07:40:34,397 INFO L290 TraceCheckUtils]: 35: Hoare triple {5212#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 07:40:34,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 07:40:34,397 INFO L272 TraceCheckUtils]: 37: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= 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)); {5102#true} is VALID [2022-04-15 07:40:34,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,398 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5102#true} {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 07:40:34,399 INFO L290 TraceCheckUtils]: 42: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {5103#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L272 TraceCheckUtils]: 44: Hoare triple {5103#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)); {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L290 TraceCheckUtils]: 45: Hoare triple {5103#false} ~cond := #in~cond; {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L290 TraceCheckUtils]: 46: Hoare triple {5103#false} assume 0 == ~cond; {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L290 TraceCheckUtils]: 47: Hoare triple {5103#false} assume !false; {5103#false} is VALID [2022-04-15 07:40:34,399 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:40:34,399 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:34,701 INFO L290 TraceCheckUtils]: 47: Hoare triple {5103#false} assume !false; {5103#false} is VALID [2022-04-15 07:40:34,701 INFO L290 TraceCheckUtils]: 46: Hoare triple {5103#false} assume 0 == ~cond; {5103#false} is VALID [2022-04-15 07:40:34,701 INFO L290 TraceCheckUtils]: 45: Hoare triple {5103#false} ~cond := #in~cond; {5103#false} is VALID [2022-04-15 07:40:34,701 INFO L272 TraceCheckUtils]: 44: Hoare triple {5103#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)); {5103#false} is VALID [2022-04-15 07:40:34,701 INFO L290 TraceCheckUtils]: 43: Hoare triple {5103#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5103#false} is VALID [2022-04-15 07:40:34,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {5268#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {5103#false} is VALID [2022-04-15 07:40:34,702 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5102#true} {5268#(<= main_~x~0 main_~X~0)} #65#return; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:40:34,702 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,702 INFO L272 TraceCheckUtils]: 37: Hoare triple {5268#(<= 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)); {5102#true} is VALID [2022-04-15 07:40:34,713 INFO L290 TraceCheckUtils]: 36: Hoare triple {5268#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:40:34,714 INFO L290 TraceCheckUtils]: 35: Hoare triple {5290#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:40:34,714 INFO L290 TraceCheckUtils]: 34: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5290#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:40:34,715 INFO L290 TraceCheckUtils]: 33: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:40:34,715 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5102#true} {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:40:34,715 INFO L290 TraceCheckUtils]: 31: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,716 INFO L290 TraceCheckUtils]: 30: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,716 INFO L290 TraceCheckUtils]: 29: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,716 INFO L272 TraceCheckUtils]: 28: Hoare triple {5294#(or (not (< 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)); {5102#true} is VALID [2022-04-15 07:40:34,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:40:34,717 INFO L290 TraceCheckUtils]: 26: Hoare triple {5319#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:40:34,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5319#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:40:34,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 07:40:34,720 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5102#true} {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #65#return; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 07:40:34,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,720 INFO L272 TraceCheckUtils]: 19: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< 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)); {5102#true} is VALID [2022-04-15 07:40:34,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 07:40:34,721 INFO L290 TraceCheckUtils]: 17: Hoare triple {5102#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 07:40:34,722 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5102#true} {5102#true} #63#return; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L272 TraceCheckUtils]: 12: Hoare triple {5102#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {5102#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5102#true} {5102#true} #61#return; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L272 TraceCheckUtils]: 6: Hoare triple {5102#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {5102#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; {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L272 TraceCheckUtils]: 4: Hoare triple {5102#true} call #t~ret8 := main(); {5102#true} is VALID [2022-04-15 07:40:34,722 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5102#true} {5102#true} #69#return; {5102#true} is VALID [2022-04-15 07:40:34,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-15 07:40:34,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {5102#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); {5102#true} is VALID [2022-04-15 07:40:34,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {5102#true} call ULTIMATE.init(); {5102#true} is VALID [2022-04-15 07:40:34,723 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:40:34,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:34,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718783646] [2022-04-15 07:40:34,723 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:34,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1417209056] [2022-04-15 07:40:34,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1417209056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:34,723 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:34,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 07:40:34,724 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:34,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [433595448] [2022-04-15 07:40:34,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [433595448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:34,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:34,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:40:34,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [715437706] [2022-04-15 07:40:34,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:34,724 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:40:34,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:34,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:34,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:34,751 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:40:34,751 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:34,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:40:34,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:40:34,751 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:35,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:35,115 INFO L93 Difference]: Finished difference Result 92 states and 100 transitions. [2022-04-15 07:40:35,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 07:40:35,115 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:40:35,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:35,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:35,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 07:40:35,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:35,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 07:40:35,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-15 07:40:35,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:35,165 INFO L225 Difference]: With dead ends: 92 [2022-04-15 07:40:35,165 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 07:40:35,166 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:40:35,166 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:35,166 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 103 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:40:35,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 07:40:35,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 82. [2022-04-15 07:40:35,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:35,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:40:35,292 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:40:35,292 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:40:35,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:35,294 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-15 07:40:35,294 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 92 transitions. [2022-04-15 07:40:35,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:35,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:35,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 84 states. [2022-04-15 07:40:35,294 INFO L87 Difference]: Start difference. First operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 84 states. [2022-04-15 07:40:35,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:35,296 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-15 07:40:35,296 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 92 transitions. [2022-04-15 07:40:35,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:35,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:35,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:35,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:35,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:40:35,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 89 transitions. [2022-04-15 07:40:35,317 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 89 transitions. Word has length 48 [2022-04-15 07:40:35,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:35,317 INFO L478 AbstractCegarLoop]: Abstraction has 82 states and 89 transitions. [2022-04-15 07:40:35,317 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:35,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 89 transitions. [2022-04-15 07:40:35,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:35,442 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2022-04-15 07:40:35,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 07:40:35,443 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:35,443 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:35,458 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:35,644 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 07:40:35,644 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:35,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:35,644 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-15 07:40:35,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:35,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [615969771] [2022-04-15 07:40:35,645 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:35,645 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-15 07:40:35,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:35,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [910852964] [2022-04-15 07:40:35,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:35,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:35,654 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:35,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [490626635] [2022-04-15 07:40:35,655 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:40:35,655 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:35,655 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:35,656 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:35,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 07:40:35,694 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:40:35,694 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:35,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 07:40:35,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:35,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:36,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {5917#true} call ULTIMATE.init(); {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {5917#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); {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5917#true} {5917#true} #69#return; {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {5917#true} call #t~ret8 := main(); {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {5917#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; {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L272 TraceCheckUtils]: 6: Hoare triple {5917#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:36,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5917#true} {5917#true} #61#return; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {5917#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L272 TraceCheckUtils]: 12: Hoare triple {5917#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5917#true} {5917#true} #63#return; {5917#true} is VALID [2022-04-15 07:40:36,391 INFO L290 TraceCheckUtils]: 17: Hoare triple {5917#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:36,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:36,392 INFO L272 TraceCheckUtils]: 19: Hoare triple {5973#(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)); {5917#true} is VALID [2022-04-15 07:40:36,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:36,392 INFO L290 TraceCheckUtils]: 21: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:36,392 INFO L290 TraceCheckUtils]: 22: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:36,393 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5917#true} {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:36,393 INFO L290 TraceCheckUtils]: 24: Hoare triple {5973#(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); {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:40:36,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {5973#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5998#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:36,394 INFO L290 TraceCheckUtils]: 26: Hoare triple {5998#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:36,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:36,395 INFO L272 TraceCheckUtils]: 28: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) 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)); {5917#true} is VALID [2022-04-15 07:40:36,395 INFO L290 TraceCheckUtils]: 29: Hoare triple {5917#true} ~cond := #in~cond; {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:36,395 INFO L290 TraceCheckUtils]: 30: Hoare triple {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:36,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:36,403 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:36,403 INFO L290 TraceCheckUtils]: 33: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {6026#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:36,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {6026#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6030#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= main_~x~0 1))} is VALID [2022-04-15 07:40:36,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {6030#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:36,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:36,405 INFO L272 TraceCheckUtils]: 37: Hoare triple {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* 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)); {5917#true} is VALID [2022-04-15 07:40:36,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {5917#true} ~cond := #in~cond; {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:36,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:36,406 INFO L290 TraceCheckUtils]: 40: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:36,406 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* 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)))} #65#return; {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:36,407 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {6057#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:40:36,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {6057#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (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; {6061#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} is VALID [2022-04-15 07:40:36,409 INFO L272 TraceCheckUtils]: 44: Hoare triple {6061#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (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)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:36,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:36,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5918#false} is VALID [2022-04-15 07:40:36,409 INFO L290 TraceCheckUtils]: 47: Hoare triple {5918#false} assume !false; {5918#false} is VALID [2022-04-15 07:40:36,410 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:40:36,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:37,050 INFO L290 TraceCheckUtils]: 47: Hoare triple {5918#false} assume !false; {5918#false} is VALID [2022-04-15 07:40:37,052 INFO L290 TraceCheckUtils]: 46: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5918#false} is VALID [2022-04-15 07:40:37,052 INFO L290 TraceCheckUtils]: 45: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:37,053 INFO L272 TraceCheckUtils]: 44: Hoare triple {6085#(= (+ (* 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)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:37,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {6089#(= (+ (* 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; {6085#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:40:37,054 INFO L290 TraceCheckUtils]: 42: Hoare triple {6093#(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); {6089#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:40:37,055 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)))))} #65#return; {6093#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:37,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:37,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {6107#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:37,056 INFO L290 TraceCheckUtils]: 38: Hoare triple {5917#true} ~cond := #in~cond; {6107#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:37,056 INFO L272 TraceCheckUtils]: 37: Hoare triple {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:37,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {6114#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:37,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {6118#(or (not (= (+ (* (* 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))))) (= (+ (* (* (+ main_~x~0 1) 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)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6114#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:40:37,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {6122#(or (= (+ (* main_~Y~0 main_~x~0 2) (* (- 2) main_~X~0) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ (* (- 2) main_~X~0) main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6118#(or (not (= (+ (* (* 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))))) (= (+ (* (* (+ main_~x~0 1) 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)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {5917#true} assume !!(~x~0 <= ~X~0); {6122#(or (= (+ (* main_~Y~0 main_~x~0 2) (* (- 2) main_~X~0) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ (* (- 2) main_~X~0) main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)))))} is VALID [2022-04-15 07:40:37,242 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5917#true} {5917#true} #65#return; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 29: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L272 TraceCheckUtils]: 28: Hoare triple {5917#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 27: Hoare triple {5917#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {5917#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {5917#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5917#true} is VALID [2022-04-15 07:40:37,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {5917#true} assume !!(~x~0 <= ~X~0); {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5917#true} {5917#true} #65#return; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L272 TraceCheckUtils]: 19: Hoare triple {5917#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {5917#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {5917#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5917#true} {5917#true} #63#return; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L272 TraceCheckUtils]: 12: Hoare triple {5917#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {5917#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5917#true} is VALID [2022-04-15 07:40:37,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5917#true} {5917#true} #61#return; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L272 TraceCheckUtils]: 6: Hoare triple {5917#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {5917#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; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {5917#true} call #t~ret8 := main(); {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5917#true} {5917#true} #69#return; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {5917#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); {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {5917#true} call ULTIMATE.init(); {5917#true} is VALID [2022-04-15 07:40:37,244 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 07:40:37,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:37,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [910852964] [2022-04-15 07:40:37,245 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:37,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [490626635] [2022-04-15 07:40:37,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [490626635] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:37,245 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:37,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-15 07:40:37,245 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:37,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [615969771] [2022-04-15 07:40:37,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [615969771] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:37,245 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:37,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 07:40:37,246 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [545943282] [2022-04-15 07:40:37,246 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:37,246 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:40:37,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:37,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:37,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:37,277 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 07:40:37,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:37,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 07:40:37,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=424, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:40:37,278 INFO L87 Difference]: Start difference. First operand 82 states and 89 transitions. Second operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:38,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:38,273 INFO L93 Difference]: Finished difference Result 96 states and 103 transitions. [2022-04-15 07:40:38,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:40:38,273 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 07:40:38,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:40:38,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:38,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-15 07:40:38,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:38,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-15 07:40:38,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-15 07:40:38,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:38,331 INFO L225 Difference]: With dead ends: 96 [2022-04-15 07:40:38,331 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 07:40:38,332 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=114, Invalid=588, Unknown=0, NotChecked=0, Total=702 [2022-04-15 07:40:38,332 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 361 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 365 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 361 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:40:38,332 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 189 Invalid, 365 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 361 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:40:38,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 07:40:38,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-15 07:40:38,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:40:38,460 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:38,460 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:38,460 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:38,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:38,461 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-15 07:40:38,461 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-15 07:40:38,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:38,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:38,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-15 07:40:38,462 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-15 07:40:38,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:40:38,463 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-15 07:40:38,463 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-15 07:40:38,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:40:38,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:40:38,464 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:40:38,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:40:38,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:40:38,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 85 transitions. [2022-04-15 07:40:38,465 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 85 transitions. Word has length 48 [2022-04-15 07:40:38,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:40:38,465 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 85 transitions. [2022-04-15 07:40:38,465 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:40:38,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 85 transitions. [2022-04-15 07:40:38,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:40:38,603 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-15 07:40:38,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:40:38,603 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:40:38,603 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:40:38,621 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 07:40:38,803 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 07:40:38,804 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:40:38,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:40:38,804 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-15 07:40:38,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:38,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [719642051] [2022-04-15 07:40:38,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:40:38,804 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-15 07:40:38,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:40:38,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [610427777] [2022-04-15 07:40:38,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:40:38,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:40:38,814 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:40:38,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [425519048] [2022-04-15 07:40:38,814 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:40:38,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:40:38,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:40:38,815 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:40:38,816 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 07:40:38,865 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:40:38,865 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:40:38,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 60 conjunts are in the unsatisfiable core [2022-04-15 07:40:38,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:40:38,881 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:46,617 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:00,838 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:01,116 INFO L272 TraceCheckUtils]: 0: Hoare triple {6761#true} call ULTIMATE.init(); {6761#true} is VALID [2022-04-15 07:41:01,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {6761#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); {6761#true} is VALID [2022-04-15 07:41:01,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:01,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6761#true} {6761#true} #69#return; {6761#true} is VALID [2022-04-15 07:41:01,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {6761#true} call #t~ret8 := main(); {6761#true} is VALID [2022-04-15 07:41:01,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {6761#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; {6761#true} is VALID [2022-04-15 07:41:01,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {6761#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:01,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {6761#true} ~cond := #in~cond; {6787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:01,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {6787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:01,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {6791#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:01,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6791#(not (= |assume_abort_if_not_#in~cond| 0))} {6761#true} #61#return; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:01,118 INFO L290 TraceCheckUtils]: 11: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:01,118 INFO L272 TraceCheckUtils]: 12: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:01,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-15 07:41:01,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-15 07:41:01,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:01,119 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6761#true} {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:01,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:01,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:41:01,120 INFO L272 TraceCheckUtils]: 19: Hoare triple {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)); {6761#true} is VALID [2022-04-15 07:41:01,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:01,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:01,121 INFO L290 TraceCheckUtils]: 22: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:01,121 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:01,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:01,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6848#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:01,123 INFO L290 TraceCheckUtils]: 26: Hoare triple {6848#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6852#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,125 WARN L290 TraceCheckUtils]: 27: Hoare triple {6852#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-15 07:41:03,125 INFO L272 TraceCheckUtils]: 28: Hoare triple {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~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)); {6761#true} is VALID [2022-04-15 07:41:03,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:03,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:03,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:03,127 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,128 INFO L290 TraceCheckUtils]: 33: Hoare triple {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,129 INFO L290 TraceCheckUtils]: 35: Hoare triple {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,129 INFO L290 TraceCheckUtils]: 36: Hoare triple {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:41:03,129 INFO L272 TraceCheckUtils]: 37: Hoare triple {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)); {6761#true} is VALID [2022-04-15 07:41:03,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:03,130 INFO L290 TraceCheckUtils]: 39: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:03,130 INFO L290 TraceCheckUtils]: 40: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:03,132 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,132 INFO L290 TraceCheckUtils]: 42: Hoare triple {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-15 07:41:03,133 INFO L290 TraceCheckUtils]: 43: Hoare triple {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6909#(and (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:03,135 INFO L290 TraceCheckUtils]: 44: Hoare triple {6909#(and (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6913#(and (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:03,137 INFO L290 TraceCheckUtils]: 45: Hoare triple {6913#(and (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6917#(and (<= main_~X~0 (* main_~Y~0 6)) (= (* (* (div main_~yx~0 main_~Y~0) main_~Y~0) 2) (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:41:03,138 INFO L272 TraceCheckUtils]: 46: Hoare triple {6917#(and (<= main_~X~0 (* main_~Y~0 6)) (= (* (* (div main_~yx~0 main_~Y~0) main_~Y~0) 2) (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:03,138 INFO L290 TraceCheckUtils]: 47: Hoare triple {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:03,139 INFO L290 TraceCheckUtils]: 48: Hoare triple {6925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6762#false} is VALID [2022-04-15 07:41:03,139 INFO L290 TraceCheckUtils]: 49: Hoare triple {6762#false} assume !false; {6762#false} is VALID [2022-04-15 07:41:03,139 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 3 proven. 27 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 07:41:03,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:08,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {6762#false} assume !false; {6762#false} is VALID [2022-04-15 07:41:08,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {6925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6762#false} is VALID [2022-04-15 07:41:08,736 INFO L290 TraceCheckUtils]: 47: Hoare triple {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:08,737 INFO L272 TraceCheckUtils]: 46: Hoare triple {6941#(= (+ (* 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)); {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:08,737 INFO L290 TraceCheckUtils]: 45: Hoare triple {6945#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6941#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:41:08,739 INFO L290 TraceCheckUtils]: 44: Hoare triple {6949#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6945#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:08,741 INFO L290 TraceCheckUtils]: 43: Hoare triple {6953#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6949#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:41:08,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {6953#(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); {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:08,742 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6960#(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)))))} #65#return; {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:41:08,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:08,743 INFO L290 TraceCheckUtils]: 39: Hoare triple {6970#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:08,743 INFO L290 TraceCheckUtils]: 38: Hoare triple {6761#true} ~cond := #in~cond; {6970#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:41:08,743 INFO L272 TraceCheckUtils]: 37: Hoare triple {6960#(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)); {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 36: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6960#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 35: Hoare triple {6761#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 34: Hoare triple {6761#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 33: Hoare triple {6761#true} assume !!(~x~0 <= ~X~0); {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6761#true} {6761#true} #65#return; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 29: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L272 TraceCheckUtils]: 28: Hoare triple {6761#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 27: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {6761#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6761#true} is VALID [2022-04-15 07:41:08,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {6761#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {6761#true} assume !!(~x~0 <= ~X~0); {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6761#true} {6761#true} #65#return; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L272 TraceCheckUtils]: 19: Hoare triple {6761#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 17: Hoare triple {6761#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6761#true} {6761#true} #63#return; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 13: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L272 TraceCheckUtils]: 12: Hoare triple {6761#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:08,745 INFO L290 TraceCheckUtils]: 11: Hoare triple {6761#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6761#true} {6761#true} #61#return; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L272 TraceCheckUtils]: 6: Hoare triple {6761#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {6761#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; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {6761#true} call #t~ret8 := main(); {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6761#true} {6761#true} #69#return; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {6761#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); {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {6761#true} call ULTIMATE.init(); {6761#true} is VALID [2022-04-15 07:41:08,746 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 07:41:08,747 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:08,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [610427777] [2022-04-15 07:41:08,747 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:08,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425519048] [2022-04-15 07:41:08,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425519048] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:08,747 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:08,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 11] total 27 [2022-04-15 07:41:08,747 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:08,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [719642051] [2022-04-15 07:41:08,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [719642051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:08,747 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:08,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 07:41:08,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [472976237] [2022-04-15 07:41:08,748 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:08,748 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:41:08,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:08,748 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:41:10,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:10,788 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 07:41:10,788 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:10,789 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 07:41:10,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=604, Unknown=0, NotChecked=0, Total=702 [2022-04-15 07:41:10,789 INFO L87 Difference]: Start difference. First operand 79 states and 85 transitions. Second operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:41:14,138 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:41:16,721 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:41:16,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:16,801 INFO L93 Difference]: Finished difference Result 101 states and 112 transitions. [2022-04-15 07:41:16,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 07:41:16,801 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-15 07:41:16,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:16,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:41:16,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-15 07:41:16,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:41:16,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-15 07:41:16,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 76 transitions. [2022-04-15 07:41:18,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:18,880 INFO L225 Difference]: With dead ends: 101 [2022-04-15 07:41:18,880 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 07:41:18,881 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 253 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=149, Invalid=973, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 07:41:18,881 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 32 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 537 mSolverCounterSat, 17 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 556 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 537 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:18,881 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 163 Invalid, 556 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 537 Invalid, 2 Unknown, 0 Unchecked, 4.8s Time] [2022-04-15 07:41:18,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 07:41:19,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-15 07:41:19,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:19,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:41:19,020 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:41:19,020 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:41:19,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:19,022 INFO L93 Difference]: Finished difference Result 88 states and 94 transitions. [2022-04-15 07:41:19,022 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 94 transitions. [2022-04-15 07:41:19,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:19,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:19,022 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-15 07:41:19,022 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-15 07:41:19,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:19,023 INFO L93 Difference]: Finished difference Result 88 states and 94 transitions. [2022-04-15 07:41:19,024 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 94 transitions. [2022-04-15 07:41:19,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:19,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:19,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:19,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:19,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:41:19,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 85 transitions. [2022-04-15 07:41:19,025 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 85 transitions. Word has length 50 [2022-04-15 07:41:19,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:19,025 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 85 transitions. [2022-04-15 07:41:19,025 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:41:19,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 85 transitions. [2022-04-15 07:41:19,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:19,196 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-15 07:41:19,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:19,196 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:19,196 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:41:19,212 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 07:41:19,397 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 07:41:19,397 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:19,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:19,398 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-15 07:41:19,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:19,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [514234826] [2022-04-15 07:41:19,398 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:19,398 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-15 07:41:19,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:19,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52235146] [2022-04-15 07:41:19,399 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:19,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:19,408 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:19,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [363959188] [2022-04-15 07:41:19,408 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:41:19,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:19,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:19,409 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:41:19,410 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 07:41:19,453 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:41:19,453 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:19,454 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 07:41:19,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:19,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:31,872 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:37,900 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:42,450 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:54,905 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:00,757 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:17,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {7637#true} call ULTIMATE.init(); {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {7637#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); {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7637#true} {7637#true} #69#return; {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L272 TraceCheckUtils]: 4: Hoare triple {7637#true} call #t~ret8 := main(); {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {7637#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; {7637#true} is VALID [2022-04-15 07:42:17,988 INFO L272 TraceCheckUtils]: 6: Hoare triple {7637#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7637#true} {7637#true} #61#return; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {7637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L272 TraceCheckUtils]: 12: Hoare triple {7637#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L290 TraceCheckUtils]: 15: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:17,989 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7637#true} {7637#true} #63#return; {7637#true} is VALID [2022-04-15 07:42:17,990 INFO L290 TraceCheckUtils]: 17: Hoare triple {7637#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,990 INFO L290 TraceCheckUtils]: 18: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,990 INFO L272 TraceCheckUtils]: 19: Hoare triple {7693#(and (= (+ 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)); {7637#true} is VALID [2022-04-15 07:42:17,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:17,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:17,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:17,991 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7637#true} {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {7693#(and (= (+ 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; {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:42:17,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:42:17,992 INFO L272 TraceCheckUtils]: 28: Hoare triple {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)); {7637#true} is VALID [2022-04-15 07:42:17,993 INFO L290 TraceCheckUtils]: 29: Hoare triple {7637#true} ~cond := #in~cond; {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:17,993 INFO L290 TraceCheckUtils]: 30: Hoare triple {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:17,993 INFO L290 TraceCheckUtils]: 31: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:17,994 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 07:42:17,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 07:42:17,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} is VALID [2022-04-15 07:42:17,995 INFO L290 TraceCheckUtils]: 35: Hoare triple {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} is VALID [2022-04-15 07:42:17,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:42:17,996 INFO L272 TraceCheckUtils]: 37: Hoare triple {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* 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)); {7637#true} is VALID [2022-04-15 07:42:17,996 INFO L290 TraceCheckUtils]: 38: Hoare triple {7637#true} ~cond := #in~cond; {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:17,996 INFO L290 TraceCheckUtils]: 39: Hoare triple {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:17,996 INFO L290 TraceCheckUtils]: 40: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:17,997 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~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)))} is VALID [2022-04-15 07:42:17,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~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)))} assume !!(~x~0 <= ~X~0); {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~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)))} is VALID [2022-04-15 07:42:17,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~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)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7780#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))))} is VALID [2022-04-15 07:42:18,000 INFO L290 TraceCheckUtils]: 44: Hoare triple {7780#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7784#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))))} is VALID [2022-04-15 07:42:20,003 WARN L290 TraceCheckUtils]: 45: Hoare triple {7784#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7788#(or (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0))) (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)))) (and (or (and (= (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~X~0 (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0))) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)))} is UNKNOWN [2022-04-15 07:42:20,009 INFO L272 TraceCheckUtils]: 46: Hoare triple {7788#(or (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0))) (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)))) (and (or (and (= (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~X~0 (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0))) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 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)); {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:20,009 INFO L290 TraceCheckUtils]: 47: Hoare triple {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:20,010 INFO L290 TraceCheckUtils]: 48: Hoare triple {7796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7638#false} is VALID [2022-04-15 07:42:20,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {7638#false} assume !false; {7638#false} is VALID [2022-04-15 07:42:20,010 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:42:20,010 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:22,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {7638#false} assume !false; {7638#false} is VALID [2022-04-15 07:42:22,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {7796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7638#false} is VALID [2022-04-15 07:42:22,727 INFO L290 TraceCheckUtils]: 47: Hoare triple {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:22,728 INFO L272 TraceCheckUtils]: 46: Hoare triple {7812#(= (+ (* 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)); {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:22,728 INFO L290 TraceCheckUtils]: 45: Hoare triple {7816#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7812#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:42:22,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {7820#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:22,731 INFO L290 TraceCheckUtils]: 43: Hoare triple {7816#(= (+ (* 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; {7820#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:42:22,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {7816#(= (+ (* 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); {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:22,732 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7830#(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)))))} #65#return; {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:22,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:22,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {7840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:22,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {7637#true} ~cond := #in~cond; {7840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:42:22,733 INFO L272 TraceCheckUtils]: 37: Hoare triple {7830#(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)); {7637#true} is VALID [2022-04-15 07:42:22,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7830#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {7637#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 34: Hoare triple {7637#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {7637#true} assume !!(~x~0 <= ~X~0); {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7637#true} {7637#true} #65#return; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L272 TraceCheckUtils]: 28: Hoare triple {7637#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 27: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 26: Hoare triple {7637#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {7637#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {7637#true} assume !!(~x~0 <= ~X~0); {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7637#true} {7637#true} #65#return; {7637#true} is VALID [2022-04-15 07:42:22,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 21: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 20: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L272 TraceCheckUtils]: 19: Hoare triple {7637#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {7637#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7637#true} {7637#true} #63#return; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L272 TraceCheckUtils]: 12: Hoare triple {7637#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 11: Hoare triple {7637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7637#true} {7637#true} #61#return; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:22,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L272 TraceCheckUtils]: 6: Hoare triple {7637#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {7637#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; {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {7637#true} call #t~ret8 := main(); {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7637#true} {7637#true} #69#return; {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {7637#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); {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {7637#true} call ULTIMATE.init(); {7637#true} is VALID [2022-04-15 07:42:22,736 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 07:42:22,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:22,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52235146] [2022-04-15 07:42:22,736 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:22,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [363959188] [2022-04-15 07:42:22,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [363959188] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:22,737 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:22,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-15 07:42:22,737 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:22,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [514234826] [2022-04-15 07:42:22,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [514234826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:22,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:22,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:42:22,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371923595] [2022-04-15 07:42:22,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:22,738 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:22,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:22,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:24,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:24,783 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:42:24,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:24,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:42:24,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=364, Unknown=1, NotChecked=0, Total=420 [2022-04-15 07:42:24,783 INFO L87 Difference]: Start difference. First operand 79 states and 85 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:31,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:31,426 INFO L93 Difference]: Finished difference Result 93 states and 100 transitions. [2022-04-15 07:42:31,426 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:42:31,426 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:31,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:31,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:31,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-15 07:42:31,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:31,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-15 07:42:31,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-15 07:42:33,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 57 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:33,485 INFO L225 Difference]: With dead ends: 93 [2022-04-15 07:42:33,485 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 07:42:33,485 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 7.9s TimeCoverageRelationStatistics Valid=88, Invalid=561, Unknown=1, NotChecked=0, Total=650 [2022-04-15 07:42:33,485 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 18 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 302 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 344 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 302 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 39 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:33,485 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 210 Invalid, 344 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 302 Invalid, 0 Unknown, 39 Unchecked, 0.7s Time] [2022-04-15 07:42:33,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 07:42:33,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 91. [2022-04-15 07:42:33,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:33,639 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:42:33,640 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:42:33,640 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:42:33,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:33,641 INFO L93 Difference]: Finished difference Result 91 states and 98 transitions. [2022-04-15 07:42:33,641 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-15 07:42:33,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:33,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:33,642 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 91 states. [2022-04-15 07:42:33,642 INFO L87 Difference]: Start difference. First operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 91 states. [2022-04-15 07:42:33,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:33,643 INFO L93 Difference]: Finished difference Result 91 states and 98 transitions. [2022-04-15 07:42:33,643 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-15 07:42:33,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:33,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:33,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:33,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:33,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:42:33,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 98 transitions. [2022-04-15 07:42:33,645 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 98 transitions. Word has length 50 [2022-04-15 07:42:33,645 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:33,645 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-04-15 07:42:33,645 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:33,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 98 transitions. [2022-04-15 07:42:35,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 97 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:35,850 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-15 07:42:35,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:42:35,850 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:35,850 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:42:35,869 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 07:42:36,059 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 07:42:36,060 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:36,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:36,060 INFO L85 PathProgramCache]: Analyzing trace with hash -322489421, now seen corresponding path program 9 times [2022-04-15 07:42:36,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:36,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1912836895] [2022-04-15 07:42:36,061 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:36,061 INFO L85 PathProgramCache]: Analyzing trace with hash -322489421, now seen corresponding path program 10 times [2022-04-15 07:42:36,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:36,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [407389941] [2022-04-15 07:42:36,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:36,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:36,070 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:36,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1856573984] [2022-04-15 07:42:36,071 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:42:36,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:36,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:36,071 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:42:36,072 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 07:42:36,108 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:42:36,108 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:36,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 07:42:36,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:36,118 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:36,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {8517#true} call ULTIMATE.init(); {8517#true} is VALID [2022-04-15 07:42:36,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {8517#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); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8517#true} {8517#true} #69#return; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {8517#true} call #t~ret8 := main(); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {8517#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; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L272 TraceCheckUtils]: 6: Hoare triple {8517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 9: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8517#true} {8517#true} #61#return; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {8517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L272 TraceCheckUtils]: 12: Hoare triple {8517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:36,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,534 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8517#true} {8517#true} #63#return; {8517#true} is VALID [2022-04-15 07:42:36,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {8517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:42:36,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:42:36,534 INFO L272 TraceCheckUtils]: 19: Hoare triple {8573#(<= (+ main_~X~0 main_~v~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)); {8517#true} is VALID [2022-04-15 07:42:36,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:36,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:36,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,535 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8517#true} {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:42:36,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:42:36,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:36,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:36,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:36,537 INFO L272 TraceCheckUtils]: 28: Hoare triple {8598#(<= (div main_~v~0 (- 2)) 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)); {8517#true} is VALID [2022-04-15 07:42:36,537 INFO L290 TraceCheckUtils]: 29: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:36,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:36,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,538 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8517#true} {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:36,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:36,539 INFO L290 TraceCheckUtils]: 34: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:36,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:36,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:36,539 INFO L272 TraceCheckUtils]: 37: Hoare triple {8626#(<= (div main_~v~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)); {8517#true} is VALID [2022-04-15 07:42:36,540 INFO L290 TraceCheckUtils]: 38: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:36,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:36,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:36,540 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8517#true} {8626#(<= (div main_~v~0 (- 2)) 0)} #65#return; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:36,540 INFO L290 TraceCheckUtils]: 42: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {8518#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {8518#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L272 TraceCheckUtils]: 46: Hoare triple {8518#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {8518#false} ~cond := #in~cond; {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {8518#false} assume 0 == ~cond; {8518#false} is VALID [2022-04-15 07:42:36,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {8518#false} assume !false; {8518#false} is VALID [2022-04-15 07:42:36,542 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:42:36,542 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:37,036 INFO L290 TraceCheckUtils]: 49: Hoare triple {8518#false} assume !false; {8518#false} is VALID [2022-04-15 07:42:37,036 INFO L290 TraceCheckUtils]: 48: Hoare triple {8518#false} assume 0 == ~cond; {8518#false} is VALID [2022-04-15 07:42:37,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {8518#false} ~cond := #in~cond; {8518#false} is VALID [2022-04-15 07:42:37,036 INFO L272 TraceCheckUtils]: 46: Hoare triple {8518#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8518#false} is VALID [2022-04-15 07:42:37,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {8518#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8518#false} is VALID [2022-04-15 07:42:37,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {8518#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8518#false} is VALID [2022-04-15 07:42:37,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8518#false} is VALID [2022-04-15 07:42:37,037 INFO L290 TraceCheckUtils]: 42: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:37,038 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8517#true} {8626#(<= (div main_~v~0 (- 2)) 0)} #65#return; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:37,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:37,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:37,038 INFO L272 TraceCheckUtils]: 37: Hoare triple {8626#(<= (div main_~v~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)); {8517#true} is VALID [2022-04-15 07:42:37,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:37,039 INFO L290 TraceCheckUtils]: 35: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:37,039 INFO L290 TraceCheckUtils]: 34: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-15 07:42:37,040 INFO L290 TraceCheckUtils]: 33: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:37,040 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8517#true} {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:37,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:37,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:37,040 INFO L272 TraceCheckUtils]: 28: Hoare triple {8598#(<= (div main_~v~0 (- 2)) 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)); {8517#true} is VALID [2022-04-15 07:42:37,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:37,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:37,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-15 07:42:37,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !!(~x~0 <= ~X~0); {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-15 07:42:37,043 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8517#true} {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} #65#return; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-15 07:42:37,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:37,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:37,043 INFO L272 TraceCheckUtils]: 19: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~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)); {8517#true} is VALID [2022-04-15 07:42:37,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 17: Hoare triple {8517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-15 07:42:37,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8517#true} {8517#true} #63#return; {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {8517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {8517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8517#true} {8517#true} #61#return; {8517#true} is VALID [2022-04-15 07:42:37,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L272 TraceCheckUtils]: 6: Hoare triple {8517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {8517#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; {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {8517#true} call #t~ret8 := main(); {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8517#true} {8517#true} #69#return; {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {8517#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); {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {8517#true} call ULTIMATE.init(); {8517#true} is VALID [2022-04-15 07:42:37,045 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:42:37,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:37,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [407389941] [2022-04-15 07:42:37,045 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:37,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856573984] [2022-04-15 07:42:37,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856573984] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:37,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:37,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-04-15 07:42:37,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:37,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1912836895] [2022-04-15 07:42:37,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1912836895] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:37,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:37,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:42:37,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1742752576] [2022-04-15 07:42:37,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:37,047 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:37,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:37,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:37,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:37,074 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:42:37,074 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:37,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:42:37,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:42:37,074 INFO L87 Difference]: Start difference. First operand 91 states and 98 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:37,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:37,444 INFO L93 Difference]: Finished difference Result 109 states and 120 transitions. [2022-04-15 07:42:37,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:42:37,444 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:37,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:37,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:37,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 07:42:37,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:37,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 07:42:37,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 07:42:37,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:37,491 INFO L225 Difference]: With dead ends: 109 [2022-04-15 07:42:37,491 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 07:42:37,492 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 2 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-15 07:42:37,492 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 63 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 63 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:37,492 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 97 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:42:37,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 07:42:37,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-15 07:42:37,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:37,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:37,661 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:37,661 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:37,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:37,664 INFO L93 Difference]: Finished difference Result 96 states and 104 transitions. [2022-04-15 07:42:37,664 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-15 07:42:37,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:37,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:37,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 96 states. [2022-04-15 07:42:37,665 INFO L87 Difference]: Start difference. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 96 states. [2022-04-15 07:42:37,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:37,666 INFO L93 Difference]: Finished difference Result 96 states and 104 transitions. [2022-04-15 07:42:37,666 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-15 07:42:37,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:37,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:37,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:37,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:37,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:37,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 104 transitions. [2022-04-15 07:42:37,669 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 104 transitions. Word has length 50 [2022-04-15 07:42:37,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:37,683 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 104 transitions. [2022-04-15 07:42:37,684 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:37,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 104 transitions. [2022-04-15 07:42:39,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 103 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:39,902 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-15 07:42:39,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:42:39,903 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:39,903 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:42:39,926 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 07:42:40,115 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 07:42:40,116 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:40,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:40,116 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-15 07:42:40,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:40,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1158927843] [2022-04-15 07:42:40,117 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:40,117 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-15 07:42:40,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:40,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2068319515] [2022-04-15 07:42:40,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:40,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:40,135 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:40,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1809577096] [2022-04-15 07:42:40,135 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:42:40,136 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:40,136 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:40,137 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:42:40,138 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 07:42:40,189 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:42:40,189 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:40,190 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 07:42:40,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:40,201 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:40,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {9426#true} call ULTIMATE.init(); {9426#true} is VALID [2022-04-15 07:42:40,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {9426#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); {9426#true} is VALID [2022-04-15 07:42:40,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:40,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9426#true} {9426#true} #69#return; {9426#true} is VALID [2022-04-15 07:42:40,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {9426#true} call #t~ret8 := main(); {9426#true} is VALID [2022-04-15 07:42:40,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {9426#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; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {9426#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9426#true} {9426#true} #61#return; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {9426#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L272 TraceCheckUtils]: 12: Hoare triple {9426#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:40,560 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9426#true} {9426#true} #63#return; {9426#true} is VALID [2022-04-15 07:42:40,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {9426#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:42:40,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:42:40,561 INFO L272 TraceCheckUtils]: 19: Hoare triple {9482#(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)); {9426#true} is VALID [2022-04-15 07:42:40,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:40,561 INFO L290 TraceCheckUtils]: 21: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:40,561 INFO L290 TraceCheckUtils]: 22: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:40,562 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9426#true} {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:42:40,562 INFO L290 TraceCheckUtils]: 24: Hoare triple {9482#(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); {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:42:40,563 INFO L290 TraceCheckUtils]: 25: Hoare triple {9482#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9507#(and (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:42:40,563 INFO L290 TraceCheckUtils]: 26: Hoare triple {9507#(and (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:42:40,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9515#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:42:40,564 INFO L272 TraceCheckUtils]: 28: Hoare triple {9515#(and (= main_~y~0 1) (= 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)); {9426#true} is VALID [2022-04-15 07:42:40,564 INFO L290 TraceCheckUtils]: 29: Hoare triple {9426#true} ~cond := #in~cond; {9522#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:40,564 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:40,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:40,565 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} {9515#(and (= main_~y~0 1) (= 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)))} #65#return; {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:42:40,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:42:40,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {9511#(and (= main_~y~0 1) (= 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; {9539#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:42:40,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {9539#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-15 07:42:40,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-15 07:42:40,567 INFO L272 TraceCheckUtils]: 37: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:40,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:40,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:40,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:40,568 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9426#true} {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} #65#return; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-15 07:42:40,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-15 07:42:40,569 INFO L290 TraceCheckUtils]: 43: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9568#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-15 07:42:40,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {9568#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9572#(and (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-15 07:42:40,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {9572#(and (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9576#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-15 07:42:40,570 INFO L272 TraceCheckUtils]: 46: Hoare triple {9576#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:40,571 INFO L290 TraceCheckUtils]: 47: Hoare triple {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:40,571 INFO L290 TraceCheckUtils]: 48: Hoare triple {9584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9427#false} is VALID [2022-04-15 07:42:40,571 INFO L290 TraceCheckUtils]: 49: Hoare triple {9427#false} assume !false; {9427#false} is VALID [2022-04-15 07:42:40,571 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 8 proven. 25 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:42:40,571 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:43,194 INFO L290 TraceCheckUtils]: 49: Hoare triple {9427#false} assume !false; {9427#false} is VALID [2022-04-15 07:42:43,195 INFO L290 TraceCheckUtils]: 48: Hoare triple {9584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9427#false} is VALID [2022-04-15 07:42:43,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:43,196 INFO L272 TraceCheckUtils]: 46: Hoare triple {9600#(= (+ (* 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)); {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:43,197 INFO L290 TraceCheckUtils]: 45: Hoare triple {9604#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9600#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:42:43,198 INFO L290 TraceCheckUtils]: 44: Hoare triple {9608#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,200 INFO L290 TraceCheckUtils]: 43: Hoare triple {9604#(= (+ (* 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:42:43,200 INFO L290 TraceCheckUtils]: 42: Hoare triple {9604#(= (+ (* 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); {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,201 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9426#true} {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:43,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:43,201 INFO L290 TraceCheckUtils]: 38: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:43,201 INFO L272 TraceCheckUtils]: 37: Hoare triple {9604#(= (+ (* 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)); {9426#true} is VALID [2022-04-15 07:42:43,201 INFO L290 TraceCheckUtils]: 36: Hoare triple {9604#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {9608#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {9604#(= (+ (* 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; {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:42:43,204 INFO L290 TraceCheckUtils]: 33: Hoare triple {9604#(= (+ (* 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); {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,204 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} {9645#(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)))))} #65#return; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:42:43,205 INFO L290 TraceCheckUtils]: 31: Hoare triple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:43,205 INFO L290 TraceCheckUtils]: 30: Hoare triple {9655#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:43,205 INFO L290 TraceCheckUtils]: 29: Hoare triple {9426#true} ~cond := #in~cond; {9655#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:42:43,205 INFO L272 TraceCheckUtils]: 28: Hoare triple {9645#(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)); {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {9426#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9645#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {9426#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {9426#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {9426#true} assume !!(~x~0 <= ~X~0); {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9426#true} {9426#true} #65#return; {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:43,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L272 TraceCheckUtils]: 19: Hoare triple {9426#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {9426#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {9426#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9426#true} {9426#true} #63#return; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L272 TraceCheckUtils]: 12: Hoare triple {9426#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {9426#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9426#true} {9426#true} #61#return; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-15 07:42:43,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {9426#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {9426#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; {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {9426#true} call #t~ret8 := main(); {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9426#true} {9426#true} #69#return; {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {9426#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); {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {9426#true} call ULTIMATE.init(); {9426#true} is VALID [2022-04-15 07:42:43,208 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 22 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 07:42:43,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:43,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2068319515] [2022-04-15 07:42:43,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:43,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1809577096] [2022-04-15 07:42:43,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1809577096] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:43,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:43,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-15 07:42:43,209 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:43,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1158927843] [2022-04-15 07:42:43,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1158927843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:43,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:43,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 07:42:43,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2037692321] [2022-04-15 07:42:43,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:43,210 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:43,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:43,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:43,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:43,243 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 07:42:43,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:43,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 07:42:43,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=322, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:42:43,243 INFO L87 Difference]: Start difference. First operand 96 states and 104 transitions. Second operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:44,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:44,471 INFO L93 Difference]: Finished difference Result 109 states and 119 transitions. [2022-04-15 07:42:44,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:42:44,471 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:42:44,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:44,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:44,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 07:42:44,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:44,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 07:42:44,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-15 07:42:44,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:44,528 INFO L225 Difference]: With dead ends: 109 [2022-04-15 07:42:44,528 INFO L226 Difference]: Without dead ends: 107 [2022-04-15 07:42:44,529 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 76 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=78, Invalid=428, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:42:44,529 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 16 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 522 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:44,529 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 233 Invalid, 522 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 517 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:42:44,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-15 07:42:44,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 96. [2022-04-15 07:42:44,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:44,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:44,720 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:44,720 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:44,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:44,721 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-04-15 07:42:44,721 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-15 07:42:44,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:44,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:44,722 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 107 states. [2022-04-15 07:42:44,722 INFO L87 Difference]: Start difference. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 107 states. [2022-04-15 07:42:44,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:44,724 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-04-15 07:42:44,724 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-15 07:42:44,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:44,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:44,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:44,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:44,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:42:44,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 104 transitions. [2022-04-15 07:42:44,725 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 104 transitions. Word has length 50 [2022-04-15 07:42:44,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:44,726 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 104 transitions. [2022-04-15 07:42:44,726 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:42:44,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 104 transitions. [2022-04-15 07:42:46,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 103 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:46,940 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-15 07:42:46,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:42:46,940 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:46,940 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:42:46,956 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 07:42:47,140 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:47,141 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:47,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:47,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-15 07:42:47,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:47,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [856377837] [2022-04-15 07:42:47,141 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:47,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-15 07:42:47,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:47,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [213281604] [2022-04-15 07:42:47,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:47,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:47,153 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:47,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [863913817] [2022-04-15 07:42:47,154 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:42:47,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:47,154 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:47,154 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:42:47,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 07:42:47,200 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:42:47,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:47,201 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 07:42:47,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:47,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:59,439 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:05,071 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:15,290 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:39,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {10375#true} call ULTIMATE.init(); {10375#true} is VALID [2022-04-15 07:43:39,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {10375#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); {10375#true} is VALID [2022-04-15 07:43:39,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10375#true} {10375#true} #69#return; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {10375#true} call #t~ret8 := main(); {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {10375#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; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L272 TraceCheckUtils]: 6: Hoare triple {10375#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10375#true} {10375#true} #61#return; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {10375#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L272 TraceCheckUtils]: 12: Hoare triple {10375#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:39,428 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10375#true} {10375#true} #63#return; {10375#true} is VALID [2022-04-15 07:43:39,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {10375#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:43:39,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:43:39,429 INFO L272 TraceCheckUtils]: 19: Hoare triple {10431#(= (+ main_~X~0 main_~v~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)); {10375#true} is VALID [2022-04-15 07:43:39,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:39,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:39,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:39,430 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10375#true} {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:43:39,430 INFO L290 TraceCheckUtils]: 24: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-15 07:43:39,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,432 INFO L272 TraceCheckUtils]: 28: Hoare triple {10456#(= 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)); {10375#true} is VALID [2022-04-15 07:43:39,432 INFO L290 TraceCheckUtils]: 29: Hoare triple {10375#true} ~cond := #in~cond; {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:39,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:39,433 INFO L290 TraceCheckUtils]: 31: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:39,433 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #65#return; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,433 INFO L290 TraceCheckUtils]: 33: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !!(~x~0 <= ~X~0); {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,434 INFO L290 TraceCheckUtils]: 34: Hoare triple {10456#(= 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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,435 INFO L290 TraceCheckUtils]: 35: Hoare triple {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-15 07:43:39,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:43:39,435 INFO L272 TraceCheckUtils]: 37: Hoare triple {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= 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)); {10375#true} is VALID [2022-04-15 07:43:39,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {10375#true} ~cond := #in~cond; {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:39,436 INFO L290 TraceCheckUtils]: 39: Hoare triple {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:39,436 INFO L290 TraceCheckUtils]: 40: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:39,437 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {10509#(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_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:39,437 INFO L290 TraceCheckUtils]: 42: Hoare triple {10509#(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_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {10509#(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_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:39,438 INFO L290 TraceCheckUtils]: 43: Hoare triple {10509#(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_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10516#(and (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:43:39,454 INFO L290 TraceCheckUtils]: 44: Hoare triple {10516#(and (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10520#(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)))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:43:41,457 WARN L290 TraceCheckUtils]: 45: Hoare triple {10520#(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)))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10524#(and (or (and (or (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= main_~yx~0 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is UNKNOWN [2022-04-15 07:43:41,461 INFO L272 TraceCheckUtils]: 46: Hoare triple {10524#(and (or (and (or (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= main_~yx~0 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* 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)); {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:43:41,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10532#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:41,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {10532#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10376#false} is VALID [2022-04-15 07:43:41,461 INFO L290 TraceCheckUtils]: 49: Hoare triple {10376#false} assume !false; {10376#false} is VALID [2022-04-15 07:43:41,462 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:43:41,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:43:45,579 INFO L290 TraceCheckUtils]: 49: Hoare triple {10376#false} assume !false; {10376#false} is VALID [2022-04-15 07:43:45,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {10532#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10376#false} is VALID [2022-04-15 07:43:45,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10532#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:43:45,581 INFO L272 TraceCheckUtils]: 46: Hoare triple {10548#(= (+ (* 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)); {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:43:45,582 INFO L290 TraceCheckUtils]: 45: Hoare triple {10552#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10548#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:43:45,585 INFO L290 TraceCheckUtils]: 44: Hoare triple {10556#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:43:45,585 INFO L290 TraceCheckUtils]: 43: Hoare triple {10552#(= (+ (* 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; {10556#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:43:45,586 INFO L290 TraceCheckUtils]: 42: Hoare triple {10552#(= (+ (* 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); {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:43:45,587 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10566#(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)))))} #65#return; {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:43:45,587 INFO L290 TraceCheckUtils]: 40: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:45,587 INFO L290 TraceCheckUtils]: 39: Hoare triple {10576#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:43:45,587 INFO L290 TraceCheckUtils]: 38: Hoare triple {10375#true} ~cond := #in~cond; {10576#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:43:45,588 INFO L272 TraceCheckUtils]: 37: Hoare triple {10566#(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)); {10375#true} is VALID [2022-04-15 07:43:45,588 INFO L290 TraceCheckUtils]: 36: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10566#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 35: Hoare triple {10375#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 34: Hoare triple {10375#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {10375#true} assume !!(~x~0 <= ~X~0); {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10375#true} {10375#true} #65#return; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 31: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 30: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 29: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L272 TraceCheckUtils]: 28: Hoare triple {10375#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10375#true} is VALID [2022-04-15 07:43:45,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {10375#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {10375#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {10375#true} assume !!(~x~0 <= ~X~0); {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10375#true} {10375#true} #65#return; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 21: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L272 TraceCheckUtils]: 19: Hoare triple {10375#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 18: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 17: Hoare triple {10375#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10375#true} {10375#true} #63#return; {10375#true} is VALID [2022-04-15 07:43:45,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L272 TraceCheckUtils]: 12: Hoare triple {10375#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 11: Hoare triple {10375#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10375#true} {10375#true} #61#return; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 9: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 8: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 7: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {10375#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-15 07:43:45,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {10375#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; {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {10375#true} call #t~ret8 := main(); {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10375#true} {10375#true} #69#return; {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {10375#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); {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {10375#true} call ULTIMATE.init(); {10375#true} is VALID [2022-04-15 07:43:45,592 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 07:43:45,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:43:45,592 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [213281604] [2022-04-15 07:43:45,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:43:45,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [863913817] [2022-04-15 07:43:45,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [863913817] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:43:45,593 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:43:45,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 07:43:45,593 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:43:45,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [856377837] [2022-04-15 07:43:45,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [856377837] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:43:45,593 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:43:45,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:43:45,594 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [961203710] [2022-04-15 07:43:45,594 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:43:45,594 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:43:45,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:43:45,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:43:47,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:43:47,640 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:43:47,640 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:43:47,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:43:47,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:43:47,640 INFO L87 Difference]: Start difference. First operand 96 states and 104 transitions. Second operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:43:51,078 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:43:54,329 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:44:01,559 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:44:11,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:11,064 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-15 07:44:11,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:44:11,065 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:44:11,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:44:11,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:11,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 07:44:11,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:11,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 07:44:11,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-15 07:44:13,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:13,224 INFO L225 Difference]: With dead ends: 110 [2022-04-15 07:44:13,224 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 07:44:13,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 79 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:44:13,225 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 17 mSDsluCounter, 180 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 5 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 396 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:44:13,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 210 Invalid, 396 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 389 Invalid, 2 Unknown, 0 Unchecked, 9.0s Time] [2022-04-15 07:44:13,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 07:44:13,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 97. [2022-04-15 07:44:13,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:44:13,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:13,424 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:13,424 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:13,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:13,425 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-15 07:44:13,426 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-15 07:44:13,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:13,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:13,426 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-15 07:44:13,426 INFO L87 Difference]: Start difference. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-15 07:44:13,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:13,428 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-15 07:44:13,428 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-15 07:44:13,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:13,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:13,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:44:13,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:44:13,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:13,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 106 transitions. [2022-04-15 07:44:13,430 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 106 transitions. Word has length 50 [2022-04-15 07:44:13,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:44:13,430 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 106 transitions. [2022-04-15 07:44:13,430 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:13,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 106 transitions. [2022-04-15 07:44:15,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 105 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:15,662 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-15 07:44:15,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:44:15,663 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:44:15,663 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:44:15,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 07:44:15,863 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 07:44:15,863 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:44:15,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:44:15,864 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-15 07:44:15,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:15,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [109723243] [2022-04-15 07:44:15,864 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:44:15,864 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-15 07:44:15,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:44:15,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1314934232] [2022-04-15 07:44:15,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:44:15,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:44:15,874 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:44:15,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [618149070] [2022-04-15 07:44:15,874 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:44:15,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:44:15,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:44:15,875 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:44:15,876 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 07:44:15,922 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:44:15,923 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:44:15,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:44:15,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:44:15,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:44:16,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {11331#true} call ULTIMATE.init(); {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {11331#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); {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11331#true} {11331#true} #69#return; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {11331#true} call #t~ret8 := main(); {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {11331#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; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L272 TraceCheckUtils]: 6: Hoare triple {11331#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11331#true} {11331#true} #61#return; {11331#true} is VALID [2022-04-15 07:44:16,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {11331#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L272 TraceCheckUtils]: 12: Hoare triple {11331#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11331#true} {11331#true} #63#return; {11331#true} is VALID [2022-04-15 07:44:16,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {11331#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:44:16,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:44:16,317 INFO L272 TraceCheckUtils]: 19: Hoare triple {11387#(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)); {11331#true} is VALID [2022-04-15 07:44:16,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,317 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,317 INFO L290 TraceCheckUtils]: 22: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,317 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11331#true} {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:44:16,318 INFO L290 TraceCheckUtils]: 24: Hoare triple {11387#(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); {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:44:16,319 INFO L290 TraceCheckUtils]: 25: Hoare triple {11387#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11412#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:44:16,319 INFO L290 TraceCheckUtils]: 26: Hoare triple {11412#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:44:16,320 INFO L290 TraceCheckUtils]: 27: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:44:16,320 INFO L272 TraceCheckUtils]: 28: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) 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)); {11331#true} is VALID [2022-04-15 07:44:16,320 INFO L290 TraceCheckUtils]: 29: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,320 INFO L290 TraceCheckUtils]: 30: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,321 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11331#true} {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:44:16,321 INFO L290 TraceCheckUtils]: 33: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:44:16,322 INFO L290 TraceCheckUtils]: 34: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11441#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0))} is VALID [2022-04-15 07:44:16,322 INFO L290 TraceCheckUtils]: 35: Hoare triple {11441#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-15 07:44:16,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-15 07:44:16,325 INFO L272 TraceCheckUtils]: 37: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) 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)); {11331#true} is VALID [2022-04-15 07:44:16,325 INFO L290 TraceCheckUtils]: 38: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,325 INFO L290 TraceCheckUtils]: 39: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,325 INFO L290 TraceCheckUtils]: 40: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,335 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11331#true} {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} #65#return; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-15 07:44:16,336 INFO L290 TraceCheckUtils]: 42: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} assume !!(~x~0 <= ~X~0); {11467#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0))} is VALID [2022-04-15 07:44:16,337 INFO L290 TraceCheckUtils]: 43: Hoare triple {11467#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11471#(and (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} is VALID [2022-04-15 07:44:16,337 INFO L290 TraceCheckUtils]: 44: Hoare triple {11471#(and (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11475#(and (= (+ main_~x~0 (- 3)) 0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:16,338 INFO L290 TraceCheckUtils]: 45: Hoare triple {11475#(and (= (+ main_~x~0 (- 3)) 0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11479#(and (= (* main_~Y~0 3) main_~yx~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (<= 2 main_~X~0) (= main_~xy~0 (* main_~X~0 3)) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} is VALID [2022-04-15 07:44:16,339 INFO L272 TraceCheckUtils]: 46: Hoare triple {11479#(and (= (* main_~Y~0 3) main_~yx~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (<= 2 main_~X~0) (= main_~xy~0 (* main_~X~0 3)) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) 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)); {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:44:16,340 INFO L290 TraceCheckUtils]: 47: Hoare triple {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11487#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:16,340 INFO L290 TraceCheckUtils]: 48: Hoare triple {11487#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11332#false} is VALID [2022-04-15 07:44:16,340 INFO L290 TraceCheckUtils]: 49: Hoare triple {11332#false} assume !false; {11332#false} is VALID [2022-04-15 07:44:16,341 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:44:16,341 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:44:16,903 INFO L290 TraceCheckUtils]: 49: Hoare triple {11332#false} assume !false; {11332#false} is VALID [2022-04-15 07:44:16,904 INFO L290 TraceCheckUtils]: 48: Hoare triple {11487#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11332#false} is VALID [2022-04-15 07:44:16,904 INFO L290 TraceCheckUtils]: 47: Hoare triple {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11487#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:16,916 INFO L272 TraceCheckUtils]: 46: Hoare triple {11503#(= (+ (* 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)); {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:44:16,917 INFO L290 TraceCheckUtils]: 45: Hoare triple {11507#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11503#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:44:16,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {11511#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11507#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:44:16,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {11515#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11511#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:44:16,921 INFO L290 TraceCheckUtils]: 42: Hoare triple {11519#(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); {11515#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:44:16,922 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11331#true} {11519#(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)))} #65#return; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:44:16,922 INFO L290 TraceCheckUtils]: 40: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,922 INFO L290 TraceCheckUtils]: 39: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,922 INFO L290 TraceCheckUtils]: 38: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,922 INFO L272 TraceCheckUtils]: 37: Hoare triple {11519#(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)); {11331#true} is VALID [2022-04-15 07:44:16,923 INFO L290 TraceCheckUtils]: 36: Hoare triple {11519#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:44:16,925 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#(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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 07:44:16,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {11545#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11541#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-15 07:44:16,927 INFO L290 TraceCheckUtils]: 33: Hoare triple {11545#(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); {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 07:44:16,928 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11331#true} {11545#(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))))} #65#return; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 07:44:16,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,928 INFO L290 TraceCheckUtils]: 29: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,928 INFO L272 TraceCheckUtils]: 28: Hoare triple {11545#(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)); {11331#true} is VALID [2022-04-15 07:44:16,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {11545#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 07:44:16,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {11570#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 07:44:16,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11570#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:44:16,934 INFO L290 TraceCheckUtils]: 24: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:44:16,934 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11331#true} {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:44:16,934 INFO L290 TraceCheckUtils]: 22: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,934 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,934 INFO L272 TraceCheckUtils]: 19: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) 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)); {11331#true} is VALID [2022-04-15 07:44:16,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:44:16,935 INFO L290 TraceCheckUtils]: 17: Hoare triple {11331#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:44:16,935 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11331#true} {11331#true} #63#return; {11331#true} is VALID [2022-04-15 07:44:16,935 INFO L290 TraceCheckUtils]: 15: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 14: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L272 TraceCheckUtils]: 12: Hoare triple {11331#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {11331#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11331#true} {11331#true} #61#return; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {11331#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {11331#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; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {11331#true} call #t~ret8 := main(); {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11331#true} {11331#true} #69#return; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-15 07:44:16,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {11331#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); {11331#true} is VALID [2022-04-15 07:44:16,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {11331#true} call ULTIMATE.init(); {11331#true} is VALID [2022-04-15 07:44:16,937 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 16 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:44:16,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:44:16,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1314934232] [2022-04-15 07:44:16,937 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:44:16,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [618149070] [2022-04-15 07:44:16,937 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [618149070] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:44:16,937 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:44:16,937 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 22 [2022-04-15 07:44:16,938 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:44:16,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [109723243] [2022-04-15 07:44:16,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [109723243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:44:16,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:44:16,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:44:16,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [224628278] [2022-04-15 07:44:16,938 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:44:16,938 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:44:16,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:44:16,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:16,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:16,973 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:44:16,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:16,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:44:16,973 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:44:16,973 INFO L87 Difference]: Start difference. First operand 97 states and 106 transitions. Second operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:18,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:18,210 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-15 07:44:18,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:44:18,210 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:44:18,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:44:18,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:18,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-15 07:44:18,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:18,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-15 07:44:18,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2022-04-15 07:44:18,274 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:18,276 INFO L225 Difference]: With dead ends: 110 [2022-04-15 07:44:18,276 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 07:44:18,276 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=98, Invalid=454, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:44:18,277 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 239 SdHoareTripleChecker+Invalid, 430 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 427 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:44:18,277 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 239 Invalid, 430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 427 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:44:18,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 07:44:18,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 97. [2022-04-15 07:44:18,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:44:18,507 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:18,507 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:18,507 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:18,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:18,509 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-15 07:44:18,509 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-15 07:44:18,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:18,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:18,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-15 07:44:18,509 INFO L87 Difference]: Start difference. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-15 07:44:18,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:18,511 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-15 07:44:18,511 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-15 07:44:18,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:18,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:18,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:44:18,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:44:18,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:44:18,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 106 transitions. [2022-04-15 07:44:18,514 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 106 transitions. Word has length 50 [2022-04-15 07:44:18,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:44:18,514 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 106 transitions. [2022-04-15 07:44:18,515 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:44:18,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 106 transitions. [2022-04-15 07:44:20,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 105 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:20,738 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-15 07:44:20,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:44:20,739 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:44:20,739 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:44:20,755 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 07:44:20,939 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 07:44:20,939 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:44:20,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:44:20,940 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-15 07:44:20,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:20,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1763794373] [2022-04-15 07:44:20,940 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:44:20,940 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-15 07:44:20,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:44:20,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598903207] [2022-04-15 07:44:20,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:44:20,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:44:20,953 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:44:20,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1354644275] [2022-04-15 07:44:20,953 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:44:20,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:44:20,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:44:20,955 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:44:20,956 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 07:44:20,988 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:44:20,988 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:44:20,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:44:20,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:44:20,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:44:21,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {12286#true} call ULTIMATE.init(); {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {12286#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); {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12286#true} {12286#true} #69#return; {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {12286#true} call #t~ret8 := main(); {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {12286#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; {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {12286#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12286#true} {12286#true} #61#return; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 11: Hoare triple {12286#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L272 TraceCheckUtils]: 12: Hoare triple {12286#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 13: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 15: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12286#true} {12286#true} #63#return; {12286#true} is VALID [2022-04-15 07:44:21,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {12286#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:44:21,858 INFO L290 TraceCheckUtils]: 18: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:44:21,858 INFO L272 TraceCheckUtils]: 19: Hoare triple {12342#(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)); {12286#true} is VALID [2022-04-15 07:44:21,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,859 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12286#true} {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:44:21,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:44:21,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {12342#(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; {12367#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:44:21,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {12367#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:44:21,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:44:21,862 INFO L272 TraceCheckUtils]: 28: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (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)); {12286#true} is VALID [2022-04-15 07:44:21,862 INFO L290 TraceCheckUtils]: 29: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,863 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12286#true} {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:44:21,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 07:44:21,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12396#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {12396#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,865 INFO L272 TraceCheckUtils]: 37: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 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)); {12286#true} is VALID [2022-04-15 07:44:21,865 INFO L290 TraceCheckUtils]: 38: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,865 INFO L290 TraceCheckUtils]: 39: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,866 INFO L290 TraceCheckUtils]: 40: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,866 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12286#true} {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,866 INFO L290 TraceCheckUtils]: 42: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,868 INFO L272 TraceCheckUtils]: 46: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 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)); {12286#true} is VALID [2022-04-15 07:44:21,868 INFO L290 TraceCheckUtils]: 47: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:21,868 INFO L290 TraceCheckUtils]: 48: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:21,868 INFO L290 TraceCheckUtils]: 49: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:21,869 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12286#true} {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:44:21,870 INFO L290 TraceCheckUtils]: 51: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L290 TraceCheckUtils]: 52: Hoare triple {12287#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L272 TraceCheckUtils]: 53: Hoare triple {12287#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)); {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L290 TraceCheckUtils]: 54: Hoare triple {12287#false} ~cond := #in~cond; {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L290 TraceCheckUtils]: 55: Hoare triple {12287#false} assume 0 == ~cond; {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L290 TraceCheckUtils]: 56: Hoare triple {12287#false} assume !false; {12287#false} is VALID [2022-04-15 07:44:21,870 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 07:44:21,870 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:44:22,211 INFO L290 TraceCheckUtils]: 56: Hoare triple {12287#false} assume !false; {12287#false} is VALID [2022-04-15 07:44:22,212 INFO L290 TraceCheckUtils]: 55: Hoare triple {12287#false} assume 0 == ~cond; {12287#false} is VALID [2022-04-15 07:44:22,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {12287#false} ~cond := #in~cond; {12287#false} is VALID [2022-04-15 07:44:22,212 INFO L272 TraceCheckUtils]: 53: Hoare triple {12287#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)); {12287#false} is VALID [2022-04-15 07:44:22,212 INFO L290 TraceCheckUtils]: 52: Hoare triple {12287#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12287#false} is VALID [2022-04-15 07:44:22,212 INFO L290 TraceCheckUtils]: 51: Hoare triple {12480#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12287#false} is VALID [2022-04-15 07:44:22,213 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12286#true} {12480#(<= main_~x~0 main_~X~0)} #65#return; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:44:22,213 INFO L290 TraceCheckUtils]: 49: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,213 INFO L290 TraceCheckUtils]: 48: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,213 INFO L290 TraceCheckUtils]: 47: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,213 INFO L272 TraceCheckUtils]: 46: Hoare triple {12480#(<= 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)); {12286#true} is VALID [2022-04-15 07:44:22,219 INFO L290 TraceCheckUtils]: 45: Hoare triple {12480#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:44:22,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:44:22,221 INFO L290 TraceCheckUtils]: 43: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:44:22,221 INFO L290 TraceCheckUtils]: 42: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:44:22,222 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12286#true} {12502#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:44:22,222 INFO L290 TraceCheckUtils]: 40: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,222 INFO L290 TraceCheckUtils]: 38: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,222 INFO L272 TraceCheckUtils]: 37: Hoare triple {12502#(<= (+ 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)); {12286#true} is VALID [2022-04-15 07:44:22,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:44:22,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {12530#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:44:22,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {12534#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12530#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-15 07:44:22,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:44:22,224 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12286#true} {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:44:22,224 INFO L290 TraceCheckUtils]: 31: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,224 INFO L290 TraceCheckUtils]: 30: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,225 INFO L290 TraceCheckUtils]: 29: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,225 INFO L272 TraceCheckUtils]: 28: Hoare triple {12534#(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)); {12286#true} is VALID [2022-04-15 07:44:22,225 INFO L290 TraceCheckUtils]: 27: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:44:22,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {12559#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:44:22,227 INFO L290 TraceCheckUtils]: 25: Hoare triple {12563#(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; {12559#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:44:22,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {12563#(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); {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:44:22,227 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12286#true} {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:44:22,228 INFO L290 TraceCheckUtils]: 22: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,228 INFO L290 TraceCheckUtils]: 21: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,228 INFO L290 TraceCheckUtils]: 20: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,228 INFO L272 TraceCheckUtils]: 19: Hoare triple {12563#(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)); {12286#true} is VALID [2022-04-15 07:44:22,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 17: Hoare triple {12286#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 07:44:22,229 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12286#true} {12286#true} #63#return; {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {12286#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {12286#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12286#true} {12286#true} #61#return; {12286#true} is VALID [2022-04-15 07:44:22,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {12286#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {12286#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; {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L272 TraceCheckUtils]: 4: Hoare triple {12286#true} call #t~ret8 := main(); {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12286#true} {12286#true} #69#return; {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {12286#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); {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {12286#true} call ULTIMATE.init(); {12286#true} is VALID [2022-04-15 07:44:22,230 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 07:44:22,230 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:44:22,230 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598903207] [2022-04-15 07:44:22,231 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:44:22,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1354644275] [2022-04-15 07:44:22,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1354644275] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:44:22,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:44:22,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 07:44:22,231 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:44:22,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1763794373] [2022-04-15 07:44:22,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1763794373] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:44:22,231 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:44:22,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:44:22,231 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [760376005] [2022-04-15 07:44:22,231 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:44:22,232 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:44:22,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:44:22,232 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:44:22,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:22,265 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:44:22,265 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:22,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:44:22,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:44:22,266 INFO L87 Difference]: Start difference. First operand 97 states and 106 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:44:22,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:22,758 INFO L93 Difference]: Finished difference Result 111 states and 122 transitions. [2022-04-15 07:44:22,758 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:44:22,758 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:44:22,758 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:44:22,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:44:22,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 07:44:22,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:44:22,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 07:44:22,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-15 07:44:22,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:22,814 INFO L225 Difference]: With dead ends: 111 [2022-04-15 07:44:22,814 INFO L226 Difference]: Without dead ends: 103 [2022-04-15 07:44:22,814 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:44:22,814 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:44:22,815 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 104 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:44:22,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-15 07:44:23,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 101. [2022-04-15 07:44:23,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:44:23,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 07:44:23,017 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 07:44:23,017 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 07:44:23,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:23,018 INFO L93 Difference]: Finished difference Result 103 states and 114 transitions. [2022-04-15 07:44:23,018 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2022-04-15 07:44:23,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:23,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:23,019 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 103 states. [2022-04-15 07:44:23,019 INFO L87 Difference]: Start difference. First operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 103 states. [2022-04-15 07:44:23,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:44:23,020 INFO L93 Difference]: Finished difference Result 103 states and 114 transitions. [2022-04-15 07:44:23,020 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2022-04-15 07:44:23,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:44:23,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:44:23,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:44:23,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:44:23,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 07:44:23,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 111 transitions. [2022-04-15 07:44:23,022 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 111 transitions. Word has length 57 [2022-04-15 07:44:23,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:44:23,022 INFO L478 AbstractCegarLoop]: Abstraction has 101 states and 111 transitions. [2022-04-15 07:44:23,022 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:44:23,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 111 transitions. [2022-04-15 07:44:27,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 109 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:44:27,315 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-15 07:44:27,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:44:27,316 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:44:27,316 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:44:27,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 07:44:27,516 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 07:44:27,516 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:44:27,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:44:27,517 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-15 07:44:27,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:44:27,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1319268174] [2022-04-15 07:44:27,517 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:44:27,517 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-15 07:44:27,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:44:27,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067314560] [2022-04-15 07:44:27,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:44:27,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:44:27,526 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:44:27,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2106763403] [2022-04-15 07:44:27,526 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:44:27,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:44:27,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:44:27,527 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:44:27,528 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 07:44:27,571 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:44:27,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:44:27,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 07:44:27,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:44:27,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:44:45,593 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:44:53,749 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:44:57,785 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:45:17,538 INFO L272 TraceCheckUtils]: 0: Hoare triple {13271#true} call ULTIMATE.init(); {13271#true} is VALID [2022-04-15 07:45:17,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {13271#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); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13271#true} {13271#true} #69#return; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L272 TraceCheckUtils]: 4: Hoare triple {13271#true} call #t~ret8 := main(); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {13271#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; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L272 TraceCheckUtils]: 6: Hoare triple {13271#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 7: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13271#true} {13271#true} #61#return; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 11: Hoare triple {13271#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L272 TraceCheckUtils]: 12: Hoare triple {13271#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:17,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,540 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13271#true} {13271#true} #63#return; {13271#true} is VALID [2022-04-15 07:45:17,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {13271#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:45:17,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:45:17,540 INFO L272 TraceCheckUtils]: 19: Hoare triple {13327#(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)); {13271#true} is VALID [2022-04-15 07:45:17,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:17,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:17,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,541 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13271#true} {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-15 07:45:17,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13349#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-15 07:45:17,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {13349#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,543 INFO L290 TraceCheckUtils]: 26: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,544 INFO L272 TraceCheckUtils]: 28: Hoare triple {13353#(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)); {13271#true} is VALID [2022-04-15 07:45:17,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:17,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:17,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,545 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13271#true} {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,545 INFO L290 TraceCheckUtils]: 33: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,546 INFO L290 TraceCheckUtils]: 34: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,546 INFO L290 TraceCheckUtils]: 35: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,546 INFO L290 TraceCheckUtils]: 36: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,546 INFO L272 TraceCheckUtils]: 37: Hoare triple {13353#(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)); {13271#true} is VALID [2022-04-15 07:45:17,546 INFO L290 TraceCheckUtils]: 38: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:17,546 INFO L290 TraceCheckUtils]: 39: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:17,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:17,547 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13271#true} {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,547 INFO L290 TraceCheckUtils]: 42: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13405#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,548 INFO L290 TraceCheckUtils]: 43: Hoare triple {13405#(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~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13409#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:45:17,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {13409#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13413#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:45:17,549 INFO L290 TraceCheckUtils]: 45: Hoare triple {13413#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13417#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:45:17,549 INFO L272 TraceCheckUtils]: 46: Hoare triple {13417#(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)); {13271#true} is VALID [2022-04-15 07:45:17,550 INFO L290 TraceCheckUtils]: 47: Hoare triple {13271#true} ~cond := #in~cond; {13424#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:45:17,550 INFO L290 TraceCheckUtils]: 48: Hoare triple {13424#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:17,550 INFO L290 TraceCheckUtils]: 49: Hoare triple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:17,552 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} {13417#(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)))} #65#return; {13435#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:45:17,552 INFO L290 TraceCheckUtils]: 51: Hoare triple {13435#(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); {13439#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:45:19,555 WARN L290 TraceCheckUtils]: 52: Hoare triple {13439#(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; {13443#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-15 07:45:19,557 INFO L272 TraceCheckUtils]: 53: Hoare triple {13443#(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)); {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:45:19,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13451#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:45:19,558 INFO L290 TraceCheckUtils]: 55: Hoare triple {13451#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13272#false} is VALID [2022-04-15 07:45:19,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {13272#false} assume !false; {13272#false} is VALID [2022-04-15 07:45:19,558 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-15 07:45:19,558 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:45:28,647 INFO L290 TraceCheckUtils]: 56: Hoare triple {13272#false} assume !false; {13272#false} is VALID [2022-04-15 07:45:28,648 INFO L290 TraceCheckUtils]: 55: Hoare triple {13451#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13272#false} is VALID [2022-04-15 07:45:28,648 INFO L290 TraceCheckUtils]: 54: Hoare triple {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13451#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:45:28,649 INFO L272 TraceCheckUtils]: 53: Hoare triple {13467#(= (+ (* 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)); {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:45:28,650 INFO L290 TraceCheckUtils]: 52: Hoare triple {13471#(= (+ (* 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; {13467#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:45:28,651 INFO L290 TraceCheckUtils]: 51: Hoare triple {13475#(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); {13471#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:45:28,652 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} {13479#(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)))))} #65#return; {13475#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:45:28,652 INFO L290 TraceCheckUtils]: 49: Hoare triple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:28,653 INFO L290 TraceCheckUtils]: 48: Hoare triple {13489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:28,653 INFO L290 TraceCheckUtils]: 47: Hoare triple {13271#true} ~cond := #in~cond; {13489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:45:28,653 INFO L272 TraceCheckUtils]: 46: Hoare triple {13479#(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)); {13271#true} is VALID [2022-04-15 07:45:28,654 INFO L290 TraceCheckUtils]: 45: Hoare triple {13496#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13479#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:45:28,656 INFO L290 TraceCheckUtils]: 44: Hoare triple {13500#(forall ((v_main_~x~0_70 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_70 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0))))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13496#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-15 07:45:28,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {13504#(forall ((main_~Y~0 Int) (v_main_~x~0_70 Int)) (or (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* v_main_~x~0_70 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13500#(forall ((v_main_~x~0_70 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_70 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0))))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 42: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13504#(forall ((main_~Y~0 Int) (v_main_~x~0_70 Int)) (or (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* v_main_~x~0_70 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} is VALID [2022-04-15 07:45:28,662 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 40: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 39: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 38: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L272 TraceCheckUtils]: 37: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 36: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 35: Hoare triple {13271#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {13271#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L290 TraceCheckUtils]: 33: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13271#true} is VALID [2022-04-15 07:45:28,662 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L272 TraceCheckUtils]: 28: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {13271#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {13271#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 22: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L272 TraceCheckUtils]: 19: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:28,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {13271#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13271#true} {13271#true} #63#return; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {13271#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {13271#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13271#true} {13271#true} #61#return; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {13271#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {13271#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; {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {13271#true} call #t~ret8 := main(); {13271#true} is VALID [2022-04-15 07:45:28,664 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13271#true} {13271#true} #69#return; {13271#true} is VALID [2022-04-15 07:45:28,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-15 07:45:28,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {13271#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); {13271#true} is VALID [2022-04-15 07:45:28,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {13271#true} call ULTIMATE.init(); {13271#true} is VALID [2022-04-15 07:45:28,665 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 07:45:28,665 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:45:28,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2067314560] [2022-04-15 07:45:28,665 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:45:28,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2106763403] [2022-04-15 07:45:28,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2106763403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:45:28,665 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:45:28,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 07:45:28,666 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:45:28,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1319268174] [2022-04-15 07:45:28,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1319268174] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:45:28,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:45:28,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:45:28,666 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628492458] [2022-04-15 07:45:28,666 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:45:28,666 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 07:45:28,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:45:28,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:45:30,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:45:30,704 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:45:30,704 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:45:30,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:45:30,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:45:30,705 INFO L87 Difference]: Start difference. First operand 101 states and 111 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:45:36,206 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:40,615 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:46,848 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:48,289 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:50,291 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:52,293 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:54,297 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:55,420 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:57,596 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.90s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:59,598 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:01,602 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:03,604 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:03,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:03,888 INFO L93 Difference]: Finished difference Result 126 states and 142 transitions. [2022-04-15 07:46:03,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 07:46:03,888 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 07:46:03,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:46:03,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:46:03,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 68 transitions. [2022-04-15 07:46:03,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:46:03,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 68 transitions. [2022-04-15 07:46:03,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 68 transitions. [2022-04-15 07:46:07,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 66 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:46:07,952 INFO L225 Difference]: With dead ends: 126 [2022-04-15 07:46:07,952 INFO L226 Difference]: Without dead ends: 118 [2022-04-15 07:46:07,953 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 7.2s TimeCoverageRelationStatistics Valid=151, Invalid=841, Unknown=0, NotChecked=0, Total=992 [2022-04-15 07:46:07,953 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 21 mSDsluCounter, 251 mSDsCounter, 0 mSdLazyCounter, 537 mSolverCounterSat, 8 mSolverCounterUnsat, 9 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 23.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 554 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 537 IncrementalHoareTripleChecker+Invalid, 9 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 23.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:46:07,953 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 282 Invalid, 554 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 537 Invalid, 9 Unknown, 0 Unchecked, 23.4s Time] [2022-04-15 07:46:07,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-15 07:46:08,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 114. [2022-04-15 07:46:08,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:46:08,217 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:46:08,217 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:46:08,217 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:46:08,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:08,219 INFO L93 Difference]: Finished difference Result 118 states and 134 transitions. [2022-04-15 07:46:08,219 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 134 transitions. [2022-04-15 07:46:08,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:08,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:08,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 118 states. [2022-04-15 07:46:08,220 INFO L87 Difference]: Start difference. First operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 118 states. [2022-04-15 07:46:08,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:08,221 INFO L93 Difference]: Finished difference Result 118 states and 134 transitions. [2022-04-15 07:46:08,221 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 134 transitions. [2022-04-15 07:46:08,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:08,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:08,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:46:08,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:46:08,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:46:08,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 130 transitions. [2022-04-15 07:46:08,223 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 130 transitions. Word has length 57 [2022-04-15 07:46:08,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:46:08,223 INFO L478 AbstractCegarLoop]: Abstraction has 114 states and 130 transitions. [2022-04-15 07:46:08,223 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:46:08,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 114 states and 130 transitions. [2022-04-15 07:46:10,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 129 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:46:10,583 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 130 transitions. [2022-04-15 07:46:10,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:46:10,583 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:46:10,583 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:46:10,601 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-15 07:46:10,801 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:46:10,802 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:46:10,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:46:10,802 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-15 07:46:10,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:46:10,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1545005729] [2022-04-15 07:46:10,802 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:46:10,802 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-15 07:46:10,803 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:46:10,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [81450306] [2022-04-15 07:46:10,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:46:10,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:46:10,811 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:46:10,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2075383434] [2022-04-15 07:46:10,811 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:46:10,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:46:10,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:46:10,812 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:46:10,814 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 07:46:10,929 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:46:10,929 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:46:10,930 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:46:10,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:46:10,949 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:46:28,238 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:46:36,833 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:46:42,855 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:47:12,795 INFO L272 TraceCheckUtils]: 0: Hoare triple {14368#true} call ULTIMATE.init(); {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {14368#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); {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14368#true} {14368#true} #69#return; {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {14368#true} call #t~ret8 := main(); {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {14368#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; {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L272 TraceCheckUtils]: 6: Hoare triple {14368#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {14368#true} ~cond := #in~cond; {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:47:12,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:47:12,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:47:12,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} {14368#true} #61#return; {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:47:12,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:47:12,798 INFO L272 TraceCheckUtils]: 12: Hoare triple {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {14368#true} ~cond := #in~cond; {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:47:12,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:47:12,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:47:12,799 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,800 INFO L272 TraceCheckUtils]: 19: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:47:12,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:47:12,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:47:12,801 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14368#true} {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,802 INFO L272 TraceCheckUtils]: 28: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,802 INFO L290 TraceCheckUtils]: 29: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:47:12,803 INFO L290 TraceCheckUtils]: 30: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:47:12,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:47:12,803 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14368#true} {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,803 INFO L290 TraceCheckUtils]: 33: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,804 INFO L290 TraceCheckUtils]: 35: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,804 INFO L290 TraceCheckUtils]: 36: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,805 INFO L272 TraceCheckUtils]: 37: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:47:12,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:47:12,805 INFO L290 TraceCheckUtils]: 40: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:47:12,805 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14368#true} {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,806 INFO L290 TraceCheckUtils]: 42: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14504#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {14504#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14508#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {14508#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14512#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,809 INFO L290 TraceCheckUtils]: 45: Hoare triple {14512#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,809 INFO L272 TraceCheckUtils]: 46: Hoare triple {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:47:12,809 INFO L290 TraceCheckUtils]: 47: Hoare triple {14368#true} ~cond := #in~cond; {14523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:47:12,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {14523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:12,809 INFO L290 TraceCheckUtils]: 49: Hoare triple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:47:12,811 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} #65#return; {14534#(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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,812 INFO L290 TraceCheckUtils]: 51: Hoare triple {14534#(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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !(~x~0 <= ~X~0); {14538#(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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,837 INFO L290 TraceCheckUtils]: 52: Hoare triple {14538#(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)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14542#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 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)) (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))))) (<= main_~Y~0 5))} is VALID [2022-04-15 07:47:12,856 INFO L272 TraceCheckUtils]: 53: Hoare triple {14542#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 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)) (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))))) (<= main_~Y~0 5))} 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)); {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:47:12,856 INFO L290 TraceCheckUtils]: 54: Hoare triple {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:47:12,857 INFO L290 TraceCheckUtils]: 55: Hoare triple {14550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14369#false} is VALID [2022-04-15 07:47:12,857 INFO L290 TraceCheckUtils]: 56: Hoare triple {14369#false} assume !false; {14369#false} is VALID [2022-04-15 07:47:12,857 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 07:47:12,857 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:47:21,576 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:47:26,970 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:48:16,713 INFO L290 TraceCheckUtils]: 56: Hoare triple {14369#false} assume !false; {14369#false} is VALID [2022-04-15 07:48:16,714 INFO L290 TraceCheckUtils]: 55: Hoare triple {14550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14369#false} is VALID [2022-04-15 07:48:16,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:48:16,715 INFO L272 TraceCheckUtils]: 53: Hoare triple {14566#(= (+ (* 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)); {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:48:16,716 INFO L290 TraceCheckUtils]: 52: Hoare triple {14570#(= (+ (* 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; {14566#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:48:16,717 INFO L290 TraceCheckUtils]: 51: Hoare triple {14574#(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); {14570#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:48:16,717 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)))))} #65#return; {14574#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:48:16,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:16,718 INFO L290 TraceCheckUtils]: 48: Hoare triple {14588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:16,718 INFO L290 TraceCheckUtils]: 47: Hoare triple {14368#true} ~cond := #in~cond; {14588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:48:16,718 INFO L272 TraceCheckUtils]: 46: Hoare triple {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:18,722 WARN L290 TraceCheckUtils]: 45: Hoare triple {14595#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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 UNKNOWN [2022-04-15 07:48:18,736 INFO L290 TraceCheckUtils]: 44: Hoare triple {14599#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) 0)) (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2))))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (= (+ (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 2) (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) v_main_~x~0_72) 2))))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14595#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is VALID [2022-04-15 07:48:21,313 WARN L290 TraceCheckUtils]: 43: Hoare triple {14603#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (forall ((aux_div_v_main_~v~0_110_41 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int)) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0))))) (<= 0 (+ (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0 aux_div_v_main_~v~0_110_41))) (or (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int)) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) aux_div_v_main_~v~0_110_41)) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79))) (<= 0 (+ (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0 aux_div_v_main_~v~0_110_41)))) (not (= (mod (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) aux_div_v_main_~v~0_110_41) main_~X~0) 0)))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2)))) (< (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14599#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) 0)) (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2))))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (= (+ (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 2) (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) v_main_~x~0_72) 2))))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is UNKNOWN [2022-04-15 07:48:21,460 INFO L290 TraceCheckUtils]: 42: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14603#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (forall ((aux_div_v_main_~v~0_110_41 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int)) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0))))) (<= 0 (+ (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0 aux_div_v_main_~v~0_110_41))) (or (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int)) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) aux_div_v_main_~v~0_110_41)) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79))) (<= 0 (+ (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0 aux_div_v_main_~v~0_110_41)))) (not (= (mod (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) aux_div_v_main_~v~0_110_41) main_~X~0) 0)))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2)))) (< (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is VALID [2022-04-15 07:48:21,461 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 38: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L272 TraceCheckUtils]: 37: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {14368#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {14368#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-15 07:48:21,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L272 TraceCheckUtils]: 28: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {14368#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {14368#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L272 TraceCheckUtils]: 19: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 18: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {14368#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14368#true} is VALID [2022-04-15 07:48:21,462 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14368#true} {14368#true} #63#return; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L272 TraceCheckUtils]: 12: Hoare triple {14368#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {14368#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14368#true} {14368#true} #61#return; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L272 TraceCheckUtils]: 6: Hoare triple {14368#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {14368#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; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {14368#true} call #t~ret8 := main(); {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14368#true} {14368#true} #69#return; {14368#true} is VALID [2022-04-15 07:48:21,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-15 07:48:21,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {14368#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); {14368#true} is VALID [2022-04-15 07:48:21,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {14368#true} call ULTIMATE.init(); {14368#true} is VALID [2022-04-15 07:48:21,464 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 07:48:21,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:48:21,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [81450306] [2022-04-15 07:48:21,464 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:48:21,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075383434] [2022-04-15 07:48:21,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075383434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:48:21,464 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:48:21,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-15 07:48:21,465 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:48:21,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1545005729] [2022-04-15 07:48:21,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1545005729] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:48:21,465 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:48:21,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 07:48:21,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [809323737] [2022-04-15 07:48:21,465 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:48:21,465 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 57 [2022-04-15 07:48:21,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:48:21,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:48:21,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:48:21,584 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 07:48:21,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:48:21,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 07:48:21,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=544, Unknown=4, NotChecked=0, Total=650 [2022-04-15 07:48:21,585 INFO L87 Difference]: Start difference. First operand 114 states and 130 transitions. Second operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:48:33,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:48:33,472 INFO L93 Difference]: Finished difference Result 123 states and 138 transitions. [2022-04-15 07:48:33,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 07:48:33,472 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 57 [2022-04-15 07:48:33,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:48:33,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:48:33,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 40 transitions. [2022-04-15 07:48:33,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:48:33,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 40 transitions. [2022-04-15 07:48:33,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 40 transitions. [2022-04-15 07:48:33,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:48:33,597 INFO L225 Difference]: With dead ends: 123 [2022-04-15 07:48:33,597 INFO L226 Difference]: Without dead ends: 115 [2022-04-15 07:48:33,597 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 286 ImplicationChecksByTransitivity, 25.0s TimeCoverageRelationStatistics Valid=249, Invalid=1153, Unknown=4, NotChecked=0, Total=1406 [2022-04-15 07:48:33,598 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 33 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 175 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 175 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:48:33,598 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 101 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 175 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-15 07:48:33,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-15 07:48:33,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 95. [2022-04-15 07:48:33,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:48:33,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:48:33,875 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:48:33,875 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:48:33,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:48:33,876 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2022-04-15 07:48:33,876 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2022-04-15 07:48:33,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:48:33,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:48:33,877 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 115 states. [2022-04-15 07:48:33,877 INFO L87 Difference]: Start difference. First operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 115 states. [2022-04-15 07:48:33,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:48:33,878 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2022-04-15 07:48:33,879 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2022-04-15 07:48:33,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:48:33,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:48:33,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:48:33,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:48:33,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 07:48:33,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 103 transitions. [2022-04-15 07:48:33,881 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 103 transitions. Word has length 57 [2022-04-15 07:48:33,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:48:33,881 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 103 transitions. [2022-04-15 07:48:33,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 07:48:33,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 103 transitions. [2022-04-15 07:48:34,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:48:34,520 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 103 transitions. [2022-04-15 07:48:34,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:48:34,522 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:48:34,522 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:48:34,528 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 07:48:34,726 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:48:34,726 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:48:34,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:48:34,726 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 15 times [2022-04-15 07:48:34,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:48:34,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1910316756] [2022-04-15 07:48:34,727 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:48:34,727 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 16 times [2022-04-15 07:48:34,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:48:34,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1940326509] [2022-04-15 07:48:34,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:48:34,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:48:34,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:48:34,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [488818376] [2022-04-15 07:48:34,738 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:48:34,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:48:34,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:48:34,739 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:48:34,740 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 07:48:34,780 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:48:34,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:48:34,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 07:48:34,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:48:34,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:48:52,122 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:48:58,148 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:49:09,397 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:49:13,455 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:50:24,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {15425#true} call ULTIMATE.init(); {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {15425#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); {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15425#true} {15425#true} #69#return; {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {15425#true} call #t~ret8 := main(); {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {15425#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; {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L272 TraceCheckUtils]: 6: Hoare triple {15425#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:24,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {15425#true} ~cond := #in~cond; {15451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:50:24,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {15451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:50:24,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {15455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:50:24,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15455#(not (= |assume_abort_if_not_#in~cond| 0))} {15425#true} #61#return; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,561 INFO L290 TraceCheckUtils]: 11: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,561 INFO L272 TraceCheckUtils]: 12: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:24,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:24,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:24,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:24,561 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15425#true} {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,562 INFO L272 TraceCheckUtils]: 19: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:24,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:24,562 INFO L290 TraceCheckUtils]: 21: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:24,562 INFO L290 TraceCheckUtils]: 22: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:24,563 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15425#true} {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} #65#return; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,563 INFO L290 TraceCheckUtils]: 24: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15509#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 0 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {15509#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 0 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,566 INFO L272 TraceCheckUtils]: 28: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:24,566 INFO L290 TraceCheckUtils]: 29: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:24,566 INFO L290 TraceCheckUtils]: 30: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:24,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:24,567 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15425#true} {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #65#return; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,567 INFO L290 TraceCheckUtils]: 33: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15538#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {15538#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,570 INFO L272 TraceCheckUtils]: 37: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:24,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:24,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:24,570 INFO L290 TraceCheckUtils]: 40: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:24,571 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15425#true} {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} #65#return; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-15 07:50:24,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15567#(and (< (* main_~Y~0 4) main_~X~0) (<= 2 main_~x~0) (<= main_~X~0 5) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:24,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {15567#(and (< (* main_~Y~0 4) main_~X~0) (<= 2 main_~x~0) (<= main_~X~0 5) (< 0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15571#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:24,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {15571#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:24,574 INFO L272 TraceCheckUtils]: 46: Hoare triple {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 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)); {15425#true} is VALID [2022-04-15 07:50:24,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {15425#true} ~cond := #in~cond; {15582#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:50:24,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {15582#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:50:24,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:50:24,577 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 0 (* main_~Y~0 2)))} #65#return; {15593#(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 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:24,577 INFO L290 TraceCheckUtils]: 51: Hoare triple {15593#(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 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {15593#(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 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:24,578 INFO L290 TraceCheckUtils]: 52: Hoare triple {15593#(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 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15600#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:50:24,580 INFO L290 TraceCheckUtils]: 53: Hoare triple {15600#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15604#(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)))) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 4 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:25,151 INFO L290 TraceCheckUtils]: 54: Hoare triple {15604#(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)))) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 4 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15608#(and (<= 4 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= main_~X~0 5) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:50:25,155 INFO L272 TraceCheckUtils]: 55: Hoare triple {15608#(and (<= 4 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= main_~X~0 5) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (< 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)); {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:50:25,155 INFO L290 TraceCheckUtils]: 56: Hoare triple {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15616#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:50:25,155 INFO L290 TraceCheckUtils]: 57: Hoare triple {15616#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15426#false} is VALID [2022-04-15 07:50:25,155 INFO L290 TraceCheckUtils]: 58: Hoare triple {15426#false} assume !false; {15426#false} is VALID [2022-04-15 07:50:25,156 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 18 proven. 40 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:50:25,156 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:50:33,982 INFO L290 TraceCheckUtils]: 58: Hoare triple {15426#false} assume !false; {15426#false} is VALID [2022-04-15 07:50:33,982 INFO L290 TraceCheckUtils]: 57: Hoare triple {15616#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15426#false} is VALID [2022-04-15 07:50:33,983 INFO L290 TraceCheckUtils]: 56: Hoare triple {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15616#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:50:33,983 INFO L272 TraceCheckUtils]: 55: Hoare triple {15632#(= (+ (* 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)); {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:50:33,985 INFO L290 TraceCheckUtils]: 54: Hoare triple {15636#(= (+ (* 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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15632#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:50:33,988 INFO L290 TraceCheckUtils]: 53: Hoare triple {15640#(= (+ (* (* 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~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:50:33,989 INFO L290 TraceCheckUtils]: 52: Hoare triple {15636#(= (+ (* 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; {15640#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 07:50:33,989 INFO L290 TraceCheckUtils]: 51: Hoare triple {15636#(= (+ (* 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); {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:50:33,990 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} {15650#(= (+ (* (* 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))))} #65#return; {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 07:50:33,990 INFO L290 TraceCheckUtils]: 49: Hoare triple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:50:33,991 INFO L290 TraceCheckUtils]: 48: Hoare triple {15660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:50:33,991 INFO L290 TraceCheckUtils]: 47: Hoare triple {15425#true} ~cond := #in~cond; {15660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:50:33,991 INFO L272 TraceCheckUtils]: 46: Hoare triple {15650#(= (+ (* (* 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)); {15425#true} is VALID [2022-04-15 07:50:33,992 INFO L290 TraceCheckUtils]: 45: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15650#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 07:50:33,992 INFO L290 TraceCheckUtils]: 44: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-15 07:50:33,992 INFO L290 TraceCheckUtils]: 43: Hoare triple {15425#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 42: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 40: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 39: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 38: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L272 TraceCheckUtils]: 37: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 36: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {15425#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 31: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 30: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L290 TraceCheckUtils]: 29: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:33,993 INFO L272 TraceCheckUtils]: 28: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 27: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {15425#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L272 TraceCheckUtils]: 19: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 17: Hoare triple {15425#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15425#true} {15425#true} #63#return; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L272 TraceCheckUtils]: 12: Hoare triple {15425#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {15425#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15425#true} {15425#true} #61#return; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {15425#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {15425#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; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {15425#true} call #t~ret8 := main(); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15425#true} {15425#true} #69#return; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {15425#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); {15425#true} is VALID [2022-04-15 07:50:33,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {15425#true} call ULTIMATE.init(); {15425#true} is VALID [2022-04-15 07:50:33,996 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-15 07:50:33,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:50:33,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1940326509] [2022-04-15 07:50:33,996 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:50:33,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [488818376] [2022-04-15 07:50:33,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [488818376] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:50:33,996 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:50:33,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 10] total 26 [2022-04-15 07:50:33,996 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:50:33,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1910316756] [2022-04-15 07:50:33,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1910316756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:50:33,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:50:33,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 07:50:33,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1820071690] [2022-04-15 07:50:33,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:50:33,997 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-15 07:50:33,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:50:33,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-15 07:50:34,312 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:50:34,312 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 07:50:34,312 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:50:34,313 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 07:50:34,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=568, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:50:34,313 INFO L87 Difference]: Start difference. First operand 95 states and 103 transitions. Second operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-15 07:50:37,888 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:50:41,498 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:50:49,180 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:51:12,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:51:12,293 INFO L93 Difference]: Finished difference Result 107 states and 116 transitions. [2022-04-15 07:51:12,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:51:12,294 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-15 07:51:12,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:51:12,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-15 07:51:12,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-15 07:51:12,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-15 07:51:12,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-15 07:51:12,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 65 transitions. [2022-04-15 07:51:13,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:51:13,449 INFO L225 Difference]: With dead ends: 107 [2022-04-15 07:51:13,449 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 07:51:13,450 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 266 ImplicationChecksByTransitivity, 16.8s TimeCoverageRelationStatistics Valid=196, Invalid=1136, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:51:13,450 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 446 mSolverCounterSat, 37 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 486 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 446 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:51:13,450 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 103 Invalid, 486 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 446 Invalid, 3 Unknown, 0 Unchecked, 14.5s Time] [2022-04-15 07:51:13,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 07:51:13,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-15 07:51:13,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:51:13,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:51:13,637 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:51:13,637 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:51:13,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:51:13,638 INFO L93 Difference]: Finished difference Result 81 states and 87 transitions. [2022-04-15 07:51:13,639 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-15 07:51:13,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:51:13,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:51:13,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 81 states. [2022-04-15 07:51:13,639 INFO L87 Difference]: Start difference. First operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 81 states. [2022-04-15 07:51:13,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:51:13,640 INFO L93 Difference]: Finished difference Result 81 states and 87 transitions. [2022-04-15 07:51:13,640 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-15 07:51:13,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:51:13,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:51:13,640 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:51:13,640 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:51:13,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:51:13,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 87 transitions. [2022-04-15 07:51:13,641 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 87 transitions. Word has length 59 [2022-04-15 07:51:13,641 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:51:13,641 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 87 transitions. [2022-04-15 07:51:13,642 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-15 07:51:13,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 87 transitions. [2022-04-15 07:51:14,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:51:14,114 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-15 07:51:14,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:51:14,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:51:14,115 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:51:14,132 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 07:51:14,315 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 07:51:14,316 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:51:14,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:51:14,316 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 17 times [2022-04-15 07:51:14,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:51:14,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [876935363] [2022-04-15 07:51:14,316 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:51:14,316 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 18 times [2022-04-15 07:51:14,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:51:14,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1636480288] [2022-04-15 07:51:14,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:51:14,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:51:14,327 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:51:14,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [730298121] [2022-04-15 07:51:14,327 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:51:14,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:51:14,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:51:14,329 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:51:14,329 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 07:51:14,375 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:51:14,375 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:51:14,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-15 07:51:14,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:51:14,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:51:43,569 WARN L232 SmtUtils]: Spent 6.09s on a formula simplification that was a NOOP. DAG size: 35 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:52:02,595 WARN L232 SmtUtils]: Spent 6.17s on a formula simplification that was a NOOP. DAG size: 38 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:52:18,297 WARN L232 SmtUtils]: Spent 6.16s on a formula simplification that was a NOOP. DAG size: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:52:27,432 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:52:30,481 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:52:38,658 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:52:42,687 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:53:03,129 WARN L855 $PredicateComparison]: unable to prove that (and (let ((.cse1 (= c_main_~Y~0 0))) (let ((.cse3 (not .cse1)) (.cse2 (= c_main_~yx~0 0)) (.cse4 (* c_main_~Y~0 4)) (.cse0 (= c_main_~X~0 0))) (or (and .cse0 (or (and .cse1 .cse2) (and (= (mod c_main_~yx~0 c_main_~Y~0) 0) .cse3 (= .cse4 (+ (* (div c_main_~yx~0 c_main_~Y~0) c_main_~Y~0) c_main_~X~0)))) (= c_main_~xy~0 0)) (let ((.cse6 (* (div c_main_~xy~0 c_main_~X~0) c_main_~X~0))) (and (let ((.cse5 (+ .cse4 .cse6 (* (- 1) c_main_~X~0)))) (or (and (= (mod .cse5 c_main_~Y~0) 0) .cse3 (= c_main_~yx~0 (* c_main_~Y~0 (div .cse5 c_main_~Y~0)))) (and (= .cse5 0) .cse2))) (not .cse0) (let ((.cse7 (+ (* (- 1) c_main_~Y~0) .cse6 (div (+ (* 2 c_main_~X~0) (* c_main_~Y~0 (- 6))) (- 2))))) (or (= .cse7 0) (= (mod .cse7 c_main_~Y~0) 0))) (= (mod c_main_~xy~0 c_main_~X~0) 0)))))) (= c_main_~v~0 (+ (* c_main_~Y~0 10) (* (- 3) c_main_~X~0)))) is different from true